

Java'da bir üst sınıfı değilde mesela hiyerarşideki 2 veya 3 üstteki sınıfın bir metoduna nasıl ulaşabiliriz? Super sözcüğü burada da işe yarar mı? Yarıyorsa nasıl?


Hiyararsinin neresinde olursa olsun, extend edilen tüm siniflarin public ve protected olan tüm metotlari alt siniflarca görülür. En alt sinifi, üst siniflarin sahip oldugu tüm public, protected metotlarin bir araya geldigi büyük bir canak olarak düsünebiliriz.
Kalitim kullanildiginda üst sinifi extend eden sinif bünyesinde, üst siniftan olusturulmus bir nesne yer alir. Bu nesneyi olusturmak icin konstrüktör bünyesinde super() ile üst sinifin konstrüktörü cagrilir. Üst sinifin kendi bir üst sinifi mevcutsa, onun da kontsrütörü bünyeseinde super() metodunu kullanarak üst siniftan nesne olusturulur.
Nesne olusturma islemini soganin yapraklari gibi düsünebiliriz. Soymaya basladigimiz ilk tabaka en alttaki siniftir. Bu sinif üst siniflari genisletmeye basladikca soganin ic yapraklarina dogru ilerlenir. Soganin cekirdeginde tüm siniflarin en üstünde bulunan sinif yer alir, bu da Java dilindeki Object sinifidir. Üst siniflarin nesnelerini her zaman super() ile konstrüktör bünyesinde olusturmak gerekir.
EOF (End Of Fun)
Özcan Acar