Türemiş Sınıfın Contructor’ ı (Başlangıc Metodu) Taban Sınıfın Hangi Baslangıç Metodunu Çağırmaktadır?

İşte buna base sentax ınyla karar verilir. Türemiş sınıfın başlangıç metodunun kapanış parantezinden sonra ‘ :base(…) ‘ yazım şekliyle belirtilen baslangıc metodunu cagırır. Örneğin:

Burada base sentax ına uygun olan argüman listesine uygun olan baslangıc metodu cagrılır.
Türemiş sınıfın baslangıç metodunda :base() sentax ı hiç belirtilmeyebilir. Belirtmemekle :base() belirlemesi yapmak aynı anlamdadır. Yani hiç belirleme yapılmadıgında taban sınıfın default baslangıç metodu calıstırılır.
Türemiş sınıfın baslangıç metodunda base sentax ındaki argümanda türemiş sınıfın baslangıç metodunun parametreleri kullanılabilir.
Örneğin:


Ekran çıktısı:


A()
B()
A() Int
B(Int, Int)
Press any key to continue . . .

Görüldüğü gibi her sınıf kendi doğrudan baslangıc metodunu cagırmaktadır.

Bir sınıfın çok fazla veri elemanı bulunuyor olabilir. Tüm bunları constructor dan alıp set etmemiz gerekmiyor sadece en önemlilerini constructor dan set ederiz diğerlerini propertyler ile set ederiz. Yani tüm veri elemanlarının baslangıc metodları ile set edilmesi hoş bir durum değildir örnegin 50 tane veri elemanı gibi.. bunları sadece en önemlilerini constructor ile set edilir. Eğer hepsi çok öenmliyse property ler ile hepsini alırız.
Burada doğru teknik en önemli birkaç degerin dısarıdan baslangıc yoluyla alınması digerlerinin property yoluyla set edilmesidir.
Şüphesiz base sentax ı yalnızca baslangıc metodlarında kullanılır. Hhb. Metodda kullanılamaz

Kaynak:Kaan Aslan Hocanın Dersinde Tuttuğum Ders Notlarıdır.

Leave a Reply

Site Footer