Merhaba arkadaşlar bu yazımda ” Inheritance (Kalıtım) Nedir ? ” sorusunu açıklamaya çalışacağım.Inheritence bize bir sınıfın bütün özelliklerinin ve davranışlarının alt sınıfa aktarılmasını sağlamaktadır.Üst sınıf içerisindeki erişim operatörleri private olsa bile özellikler aktarılır fakat get-set metodları ile erişim sağlanabilir.Set get metodu kullanmak istemezsek protected yaparak çözüme ulaşabiliriz.
Bir öğrenci sınıfı olduğunu düşünelim.Her öğrencinin adı soyadı ve numarası olduğunu varsayalım.Bir yüksek lisans öğrencisinin ise adı soyadı , numarası ve öğrenciden farklı olarak tezi olduğunu düşünelim.Yani öğrenci class’ı içerisindeki bütün özellikleri taşıyor ve o özelliklerin haricinde kendi içerisindede özellikler barındırıyor.Bu durumda inheritance olayı devreye giriyor.Üst sınıfı genişleterek kullanmamızı sağlıyor.


Burada YuksekLisansOgrencisi sınıfımı extends anahtar kelimesiyle Ogrenci sınıfımdan kalıtladığımı belirtiyorum.Yani öğrenci sınıfı içerisindeki bütün özellikleri ad soyad , get set ve numalara yüksek lisans öğrenciside kullanma imkanı sağlayacak.YukseklisansOgrencisi içerisinde super ile üst sınıfın yapılandırıcısı çağırılır.Burada dikkat edilmesi gereken nokta adsoyad ve numara üst sınıfın nesneleri olduğu için yapılandırıcıda ilkleme(ilk atama) işlemini üst sınıfın yapması gerekir.Bunu yapabilmek için üst sınıf içerisinde 2 parametre alan bir yapılandırıcı tanımlanması gerekir.Super(adsoyad,numara) ile Ogrenci nesnesi oluşturup onun adsoyad ve numara atamalarını yapmış olduk.Tezadi YuksekLisansOgrencisi sınıfına ait olduğu için onun ilkleme işlemini YuksekLisansOgrencisi sınıfında yapmış olduk.

Kodlarımı çalıştırdığımızda aşağıdaki çıktıya ulaşacağız.
