C#

C# Sınıf Yapısı

Sınıf (class) bir nesnenin şeklini tanımlayan bir şablondur. Sınıf, verileri ve bu verileri işleyecek kodu içerir. Sınıf nesneleri oluşturmak için temel özellikleri içerir. Nesne(object) ‘ler sınıfların birer örneğidirler. Bu durumda sınıf, nesnelerin nasıl inşa edileceğini tanımlayan bir kılavuzdur diyebiliriz. Gerçek hayatta birçok nesne bulunur. Kitap, kalem, TV, araba vs. bunların hepsi birer nesnedir. Program için de bu durum farksızdır.Yani hayatımızı modelleyerek programlara aktarabiliriz. İşte bu nesnelerin belirli  özellikleri ve fonksiyonları vardır. Her arabanın kapısı olması veya hareket etmesi gibi. Örneğin yemek kitabı bir sınıftır, bu kitabın yardımıyla yapılacak olan yemekler ise birer nesnedir.

Sınıf soyut bir ifadedir, nesneler oluşuncaya kadar fiziksel olarak bellekte yer almazlar. Sınıfta veriler veri üyelerinde(değişken), kod ise fonksiyon üyelerinde saklanır. Veri üyeleri örnek değişkenleri ve statik değişkenleri içerir. Fonksiyon üyeleri ise metot, yapılandırıcı, yok edici, indeksleyici, olaylar, operatörler ve özellikleri içerirler. Şimdi bir sınıfta örnek değişken ve metot nasıl tanımlar bunu görelim.

// örnek değişken tanımlama

erişim tip değişken1;

Görüldüğü gibi değişkeni tanımlarken sırayla önce erişim türünü, sonra veri tipini en sonunda ise değişken ismini belirtiyoruz.

// örnek metot tanımlama

erişim dönüş-tipi metot1(parametreler){

}

Yine metodu tanımlarken öncelikle erişim türünü, daha sonra döndüreceği değerin tipini(döndürmeyebilir-void) en sonunda ise metodun ismini belirtiyoruz.

Bir sınıfın mantıksal bir bütünlüğünün olması önemlidir. Yani birbiriyle ilişkili bilgilerin bir arada bulunduğu bir sınıf yapısı daha iyi tasarlanmasını sağlar. Birbiriyle alakasız bilgiler sınıf yapısının bozulmasına neden olur.

Peki burada bahsedilen erişim belirteçleri nedir, ne işe yarar? Bunlara daha sonra değineceğiz ama kısaca private; sınıf üyelerini kendi sınıfına özel erişime, public ise tüm sınıflardan erişime açık olarak tanımlar. Erişim belirteci opsiyonel bir belirteçtir. Kullanılmaması halinde metot varsayılan olarak private olur.

Sınıf tanımı, yeni bir veri tipi oluşturur. Yani biz nasıl Integer(int) sınıfından bir değişken tanımlaya biliyorsak, kendi oluşturduğumuz sınıfları da veri tipi olarak kullanabiliriz. Bir sonraki yazıda yeni bir nesne tanımlarken Tasit veri tipinde tanımlayacağız.

En basit haliyle bir sınıf yapısı aşağıdaki örnekte gösterilmektedir. Nesne yönelimli programlamada kapsülleme ve yapılandırıcı gibi konulara daha değinmediğim için kodları daha basit yazmaya çalıştım. Önerilen kod yazımı bu değildir. 

 

İstanbul’un amatör seyyahı. Kod yazmak hayat felsefesi. Android, Java, C# ve Javascript’le yakından, tüm teknoloji dünyasıyla uzaktan ilgileniyor. Drone meraklısı ama sahibi değil.
  • Süleyman Özdemir

    Helal olsun sana . Çok güzel anlatmışsın … Çok araştırma yaptım böyle güzel bi anlatım görmedim .