Nesneye Dayalı Programlama -10- Kurucular (Constructor)


Merhabalar Arkadaşlar,

Bu yazımızda NDP için çok önemli olan kuruculardan (constructor) bahsedeceğiz.

Sınıfa ait bir nesne oluşturan sınıf ögesidir.
Bir sınıfın kurucusu, sınıf içerisinde tanımlı olan , sınıfın adını alan ancak değer kümesi olmayan özel metotlardır.

  • Bir  nesnenin oluşturulduğu anda otomatik olarak çalıştırılan metotlardır.
  • Bir sınıf içinde birden fazla kurucu olabilir.
  • Nesne oluşturulduğunda hangi kurucunun çağrılacağı parametrelerle belirlenir.
Bazen sınıflarda nesne oluşturulurken belirli şartlar yada değerler altında oluşturulması gerekebilir. Bu tür durumlarda sınıfla aynı ismi taşıyan ancak geri dönüş değeri olmayan metotlar kullanılır. Her sınıfın ister belirtilsin ister belirtilmesin en az 1 kurucusu vardır.

Örnek: Urun sınıfımıza parametreli ve parametresiz olmak üzere 2 tane kurucu ekleyeceğiz. 


Şimdi bu kurucuların kullanımına bakalım


Ekran Görüntüsü



NEW anahtar kelimesinden sonra Urun() şeklindeki ifade, sınıftan nesne oluştururken hangi kurucunun çağrılacağı belirtilir.

Kurucuların Özellikleri
  • Kurucular sınıf isimleri ile aynıdır.
  • Geri dönüş değeri olmayan metotlardır. (Gerçekte geri dönüş değerleri sınıfın kendisidir.)
  • Geri dönüş değeri olmamak haricinde metotların tüm özelliklerini (overload vb.) taşırlar.
  • Nesne oluşturulurken ilk çalışan yapıdır.
  • C# ve Java dillerinde belirtilmese bile her sınıfın varsayılan (parametresiz) kurucusu vardır.

Static Kurucular

C# ile ortaya çıkmış bir kavramdır. Sınıfa ait ilk dinamik nesne kurulmadan önce çalışan kuruculardır. Ancak sınıf içerisinde sadece static üyelerine erişebilir.

Özellikleri

  1. Her sınıfın ancak ve ancak tek bir static kurucusu olabilir.
  2. Static kurucuların erişim belirteci olamaz.
  3. Static kurucular parametresizdir.
  4. Sınıfın ancak static üyelerine erişebilir.
  5. Bir sınıfta hem static hem de normal kurucu varsa öncelik static kurucularındır.
Örneğimize bakacak olursak


StaticSinif nesne = new StaticSinif(); nesnesi oluşturulduğundaki Ekran Görüntüsü



İyi çalışmalar dilerim.