Java Derslerinde Kalıtım (Inheritance) kısmına ulaştık. Nesne Yönelimli Programlamanın üç önemli kavramından birisidir. Öteki ikisi Çok Biçimlilik (Polymorphism) ve interface’dir (Arayüz). Bu bölümde kalıtım nedir, ne için kullanılır, nasıl kullanılır? Konularına değineceğiz örnekleri iyi incelemeniz daha kolay anlamanızı sağlayacaktır.
İçindekiler
Java Kalıtım (Inheritance) Nedir?
En basit tanımıyla atadan oğula bırakılan mirastır. Nesne Tabanlı Programlama açısından bir sınıfın başka bir sınıftan özellikleri miras almasıdır. Java dilinde bir oğulun yalnızca bir ata sınıfı olabilir. Kalıtım ile mümkün olan miras alma sınırı birdir. Kalıtım, sınıfların birbirinden miras alarak ortak metot ve özellikleri kullanmasını sağlamak için kullanılır. Aşağıdaki şemadan görüldüğü üzere Araç sınıfının özelliklerinden 3 farklı sınıf faydalanabilmiş. Bu sayede kod yükü azalmış ve tekrar tekrar aynı şeyleri yazmaya gerek kalmamış.
Kalıtım (Inheritance) Nasıl Yaplır?
Kalıtım yapabilmek için 2 farklı sınıfa ihtiyaç duyarız. İlk sınıf ana sınıfımız olsun ikinci sınıfta alt sınıfımız olsun. İlk sınıftan miras alabilmek için extends anahtar kelimesi kullanılır. Unutulmamalıdır ki kalıtım yaparken yalnızca bir sınıftan miras alınabilir. Sadece 1 hakkımız vardır. Aşağıdaki örneği inceleyelim.
Kalıtım (Inheritance) Örneği
Aşağıdaki örnekte Araç sınıfını Kamyon sınıfı miras almıştır. Araç sınıfı içerisinde yer alan metodu her ikisinden oluşturulan nesnede çağırabilmektedir. Ayrıca Araç sınıfının tekerler özelliğine kamyon nesnesi erişebilmekte. Tüm bunları kalıtım sayesinde yapabilmekteyiz. Bu sayede defalarca aynı şeyleri yazmak yerine bağlantı kurarak temiz ve anlaşılır kod yazabiliyoruz.
super() Anahtar Kelimesi
Alt sınıfın üst sınıfa erişmesi gereken durumlarda super anahtar kelimesi kullanılır. Üst sınıfa ait nesne oluşturmak veya üst sınıfın öğelerine erişebilmek gibi 2 farklı kullanım amacına sahiptir. Aşağıdaki örnekte üst sınıfın yapıcı metodunu kullanmak ve üst sınıfın yazdir() metoduna erişebilmek için kullanılmıştır.
Bugünkü dersimizde Java Kalıtım (Inheritance) nedir, nasıl kullanılır? Konularına değindik ayrıca örnekler yapıp super() anahtar kelimesinin kullanımını gördük. Nesne Yönelimli Programlamada kalıtımdan sıklıkla faydalanılır. Ayrıca Java Dili Tamamen Nesne Yönelimli bir dil olduğu için en temelinde Object isimli bir sınıf yatar diğer oluşturulan tüm sınıflar varsayılan olarak Object sınıfından türetilirler. Umarım faydalı olmuştur sonraki dersimizde görüşmek üzere.