Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi
0 oy
51 gösterim
Java programlama dilinde "inheritance" kavramının ne işe yarar? nasıl kullanırız kod örneği verebilir misiniz?
Web Programlama kategorisinde (1.6k puan) sordu

1 cevap

+2 oy

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.

(3.1k puan) cevapladı

İlgili sorular

+1 oy
1 cevap 133 gösterim
0 oy
1 cevap 126 gösterim
126 gösterim 4 Şubat 2017 Java kategorisinde tolga (1.6k puan) sordu
0 oy
1 cevap 104 gösterim
0 oy
1 cevap 158 gösterim
0 oy
1 cevap 63 gösterim
63 gösterim 9 Ocak 2017 Genel Kavramlar kategorisinde tolga (1.6k puan) sordu
...