[CEVAPLANDI] Altsınıf Konstrüktöründe super() Kullanımı

« Önceki sayfaya geri dön
0
Soran Esin (Questions: 3, Answers: 0)
4 Nisan 2014 16:16 tarihinde soruldu
Kategori: Kalıtım I
89076 gösterim

propertylerin getter ve setter metodlarını eclips source menuden ekledik. sonrasında fieldlarıda dahil ederek(marka,model,uretimYili) sınıfın constructor ını eklediniz. Bende eclipse source menusunden generate constructor using Fields seçeneğini kullanarak tüm fieldları seçerek constructorı ekledim, sizinkinden farklı olarak constructor içerisinde en üstte super() metodu geldi. Şimdi bu super metodu constructorda olmuş yada olmamış bu ikisi arasındaki farkı öğrenebilir miyim?

CEVAPLANDI
4
Soran Özcan Acar (Soru: 1, Cevap: 1)
Answered On 4 Nisan 2014 17:41

super() dogrudan üst sinifin konstrüktörünü kosturur ve bu sekilde üst siniftan olan nesne yapilandirilmis olur. Konstrüktör icinde super() in konup, konmayacagina, üst sinifin konstrüktörüne bakarak karar vermek gerekir. Eger üst sinif konstrüktöründe bir sey yapilmiyorsa, o zaman alt sinifin konstrüktöründe super() kullanmaya gerek yok.

Eger üst sinifin bir veya daha fazla parametreli bir konstrüktörü varsa, bu durumda altsinif konstrüktöründe mutlaka super(param1, param2….) ile üst sinif nesnesi yapilandirilmalidir, aksi taktirde üst sinif nesnesinin degiskenleri null degerinde kalir ki bu da alt sinifta sorun yaratabilir.