Kısa bir tanımla. Senin çalışıp çabalayıp bir sürü özellik geliştirip kendini değerli duruma getirmek yerine, bu özelliklerin senin atalarından gelmesi olayıdır :) yani baba, dede bazı şeylere sahipse senin de otomatik olarak sahip olman demektir.
Özellik anlamında babanın kendine ait olan malları/özellikleri 3 şekle ayırabilir.
1-Kendine ait bırakabilir, biraz özel olmasını isteyebilir (private)
2-Sadece çocuklarının bu malları/özellikleri kullanabilmesini isteyebilir (protected)
3-Genele yayıp herkesin kullanımına açabilir (public)
Bu malları/özellikleri kendisi nasıl paylaştıracağını belirledikten sonra devreye sen giriyorsun. Babadan bu özellikleri alıyorsun (extends) sonra kendi içinde kullanabilirsin, geliştirebilirsin. Verimli bir şekilde hayatını (yazılım süreci) devam ettirmeye çalışıyorsun. Şayet güzel bir miras sistemi uygularsan sonraki gelen çocukların işlerini rahatlatmış olursun. Yoksa miras kavgalarına da dönüşebilir. Nasıl yani dersen; en bariz örneklerinden birisi sana bir miras geldiğini bilmeyip, malları/özellikleri kendin geliştirmeye çalışabilirsin ya da mirasa çok güvenip ortada kalabilirsin, vs vs.
Hikaye kısmını geçer bu hikayeyi yazmaya çalışırsak:
class Baba {
private OzelMulk om1;
protected ColukCocukPayi ccp1;
public Hayrat h1;
}
class Cocuk extends Baba {
// Bu kısımda, babadan kalan çocuk çocuk payı ve hayrat kısımları kullanılabilir. ama OzelMulk kullanılamayacaktır.
}
Biraz fazla basit oldu ama akılda kalan soru işareti varsa tek tek gidebiliriz. Dikkat etmemiz gereken baba zaten bazı şeylere sahip. Bu sahip olduğu şeyler değişken veya metod şekilde olacaktır. Bunun miras kalma işlemi extends sözcüğü ile belirlenir. Kaldıktan sonra çocuk bu malları zaten kullanabilir.
Biraz tecrübesiz arkadaşlar için not: bütün sınıflar bir başka sınıftan kalıtlama yapilir. ÖzelMülk, ColukCocukPayı dediklerim de başka sınıflardan kalıtlayabilir. Örnek verirken baba/cocuk örneği verdim ama kafa karışmasın.
Saygılar.