C# - Sınıf (Class)

C# nesneye yönelik bir programlama dilirdir (object oriented programming veya OOP). Bunun sebebide class lar (sınıf) dır. Bu derste class lara giriş yapacağız. Class ların en önemli özelliklerini sizlere anlatacağız.

Her şeyden önce, bir sınıf ilgili fonksiyon ve variable (değişken) lardan oluşan bir gruptur. En kısaca tanımıyla class lar bir nesnenin "blueprint" idir diyebiliriz. Çoğu durumda programlama yaparken class lardan bir nesne oluşturulur ve o örnek üzerinden kodlamaya devam edilir. Bu nesnede, tanımlı fonksiyonları ve değişkenleri kullanırsınız. Elbette, sınıfınızın istediğiniz kadar örneğini oluşturabilirsiniz. Sınıflar nesneye dayalı programlamada çok geniş bir konudur. Bu yüzden üyelerini ve türlerini ayrı ayrı derslerde ele alacağız.

Aşağıdaki örnekte "Apartman" isminde bir class yaratılmış ve programda kullanılmıştır.

using System;
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Apartman apartman;
            apartman = new Apartman("Şimşek");
            Console.WriteLine(apartman.Aciklama());
            apartman = new Apartman("Çiçek");
            Console.WriteLine(apartman.Aciklama());
            Console.ReadLine();
        }
    }
    class Apartman
    {
        private string ad;
        public Apartman(string ad)
        {
            this.ad = ad;
        }
        public string Aciklama()
        {
            return "Apartmanın Adı : " + Ad;
        }
        public string Ad
        {
            get { return ad; }
            set { ad = value; }
        }
    }
}

Gördüğünüz gibi, "Apartman" adında yeni bir class tanımladık. Ana uygulamamızdaki "Main" metodunda da bundan bir nesne yarattıp kullandık.

Class ı inceleyecek olursak, "ad" isminde bir private değişkenimiz var. Bu sadece sınıf içinde erişilebilir ve dışarıdan çağıralamaz. Bu değişkeni Constructor (yapıcı) dan gelen parametrenin değerine atıyoruz ve Class içinde kullanıyoruz. Class ın bir diğer üyesi olan "Apartman" constructor ı class yaratıldığında kodun uğradığı ilk bloktur. Burada nesne yaratıldığında yapılması istenen kod yazılır. Başka bir üye "Aciklama()" fonksiyonudur. Bu üye "public" olduğundan class dışından da çağırılır. "Apartmanın Adı" ve "Ad" property sinin aldığı değerin birleşimini bize döndürür. Son olarak "Ad" property (özellik) si private olan "ad" değişkenini bize döndürür. Public olduğu için bu üye de dışarıdan çağırılabilir.

Şimdi burada aklınıza bir soru takılmış olabilir.."ad" isminde private ve "Ad" isminde public iki üye var. Public olan üye zaten private üyeyi döndürecekse biz neden "ad" değişkenini public yapmıyoruz ve "Ad" property sini kaldırmıyoruz. İkisine ne gerek var ? İşte burada "Encapsulation" (kapsülleme) dediğimiz konu devreye giriyor. Bununla ilgili dersi incelemenizi tavsiye ediyoruz.

Ana uygulamamıza gelecek olursak, nesnelerimizi yarattık ve her birinin constructor larındaki parametrelere değerlerimizi atadık. Daha sonra "Aciklama()"" fonskiyonunu çağırarak bu değerleri ekrana yazdırdık.

Konuyu daha iyi anlamanız açısından bu kodu bi proje açıp "Apartman apartman;" satırına bir "break point" koyarak çalıştırmanızı tavsiye ediyoruz.



İlginizi Çekebilir

C# - Static İfadesi

C# - Alan (Field)

C# - Döngüler

C# - Fonksiyonlar

C# - Özellikler (Property)