3) KALITIM
Nesneye yonelik programlamanin temellerinden olan kalitim(inheritance) yeni siniflar yazarken elimizde var olan siniflari kullanmamizi saglar. Yeni sinifin bircok ozelligi eski yazilan sinifla aynidir. Kalitim yoluyla yeni sinifta bu uyeleri tekrardan yazmaya gerek kalmaz. Bazi uyeler ise farklidir (eger tum uyeler ayni olsa yeni sinif yazmaya gerek kalmazdi!); eger bu uyelerin tanimlamalari superclass'ta mevcutsa bu durumda bunlar farklilastirilir (overriding), yani gerceklestirimleri degistirilir. Eger yeni eklenecek uyelerin prototipleri superclasst'ta mevcut degilse bunlar direkt olarak yeni sinifa(subclass) eklenebilir.
Kalitim, yazilimin yeniden kullanilmasi ihtiyacina buyuk olcude katkida bulunur. Zaten kalitim kavraminin ortaya cikmasinin sebebi , ozellikle buyuk capli yazilim gelistirme calismalarinda ayni kod parcalarinin tekrar tekrar kullanilmasini onlemek ve yeni siniflari var olanlarin ustune insa etmektir. Gercek hayattaki nesne modeli de buna uygundur.
Kalitim kullaniminda hizmet eden en onemli kavramlardan biri soyutlama (abstraction)'dir. Bu yontem sayesinde kalitilan nesnenin istenen islemleri nasil gerceklestirdiginden cok ne yaptigiyla ilgilenilir. Kalitilan nesnede yapilacak uygulama degisikleri sonucu etkilemedikten sonra subclass'lari etkilemez.
Bir sinifin bir listeyi array'de mi, link list'te mi, yoksa bir tree yapisinda mi tuttugu bu sinifin subclass'larini etkilemez.
Bir superclass'tan kalitim yoluyla tureyen tum siniflar bir hierarsi yapisi meydana getirirler. Bu yapinin en ustunde superclass yer alir ve geneli ifade eder. Bu superclass'tan tureyen tum subclass'lar, superclass'in ozelliklerini alirlar. (Superclass-Subclas Icin Bkz Sinif Bolumu)
Oneri ! Nesneye yonelik programlama yapan bir Java programcisi once ortak ozellik ve davranislari belirleyip bunlari bir sinifa koymali, daha sonra ise bu sinifin ozelliklerini genisleten subclass'lar yaratmalidir.
Java Dilinde Kalitimin Uygulanmasi :
Java dili tekli kalitimi destekler, yani bir alt sinifin ancak bir direkt super sinifi olabilir. Java'da kalitimi saglamak icin 'extends' anahtar sozcugu kullanilir. Ornegin bir Java appleti hazirlayabilmek icin yaratacagimiz sinif sistem tanimli Applet sinifini inherit etmek zorundadir.
public class ornek extends Applet
{
..
}Bu ornekte Applet sinifi superclass, ornek adli yeni yaratilan sinif ise subclass ismini alir.
Java'daki her bir subclass bir superclass olma adayidir. Ancak final olarak tanimlanan siniflardan yeni sinif tureyemez, yani bunlar superclass olamazlar.
Java dilindeki kaltim is-a yonteminin uygulanmasidir.
Java dilindeki kalitim ornekleri icin tiklayiniz
&nbs p;
Index