# Python Kalıtım
Python kalıtım (inheritance) konusunu işliyoruz.
Python sınıflar konusunu uzunca anlatmamızın ardından şimdi de kalıtım dersine geçtik. Python programlama dersinde kalıtım kullanarak bir üst sınıfın tüm değişken ve methodlarını kendi sınıfınız içinde kullanabiliriz. Kalıtımda;
Ebeveyn sınıf; değişkenlerini ve fonksiyonlarını kalıtım ile kullandırır.
Çocuk sınıf; ebeveyn sınıftan kalıtım ile değişken ve methodaları alarak kullanabilir.
1. Ebeveyn Sınıfın Oluşturulması
Bu konuyu bir önceki dersimizde detaylıca işledik. Örnek olması amacıyla şimdi de basit bir sınıf oluşturalım.
Örnekte gördüğünüz gibi basit bir sınıf oluşturduk ve ürettiğimiz nesne ile nesne özelliklerini kullanabildik. Şimdi kalıtım ile çocuk sınıf üretelim.
2. Çocuk Sınıfın Oluşturulması
Python kalıtım ile ebeveyn sınıftan çocuk bir sınıf oluşturarak ebeveyn sınıfın tüm değişkenlerini ve methodlarını alabiliriz. Böylece aynı özellikleri tekrar tekrar oluşturmamıza gerek kalmadan kullanabiliriz.
Kalıtım ile ebeveyn sınıftan çocuk sınıf üretebilmek için oluşturacağımız çocuk sınıfa ebeveyn sınıfı parametre olarak göndermemiz gerekiyor.
İşte bu örnekte gördüğünüz gibi kalıtım ile yeni oluşturduğumuz Ogrenci
sınıfına Birey
sınıfını ebeveyn olarak atadık ve ebeveyn sınıfın tüm değişken ve methodlarını yeni sınıfımıza dahil ettik.
Ogrenci
sınıfında hiçbir değişken ve method oluşturmamamıza rağmen Birey
sınıfını kalıttığımız için onun özelliklerini kullanabildik.
3. Fonksiyon Override Etmek
Çocuk sınıf içerisinde eğer kendi fonksiyonunuzu kullanırsanız kalıtılan ebeveyn sınıfın fonksiyonu geçersiz hale gelir yani override (geçersiz kılmak) edilir.
Bu örnekte yeni bir bilgiVer()
fonksiyonu tanımladığımız için ebeveyn sınıfın bilgiVer()
fonksiyonunu geçersiz kıldık ve yeni bilgiVer()
fonksiyonumuzu kullandık.
4. super() Fonksiyonu Kullanımı
Kalıtım ile aldığımız özellikleri override ettiğimizde artık ebeveyn sınıfın değil, çocuk sınıfın özelliklerini kullandığımızı bir üst başlıkta gördük. Şimdi ise ebeveyn sınıfın özelliklerini geçersiz kılsak bile (override) tekrardan nasıl kalıttığımız ebeveyn sınıfın özelliklerini kullanacağımızı gösterelim.
Bu örnekte bilgiVer()
fonksiyonunu geçersiz kılmamıza rağmen super()
fonksiyonu ile ebeveyn sınıfın bilgiVer()
fonksiyonunu çağırdık ve kullandık. Aynı şeyi ebeveyn sınıfın ismiyle de yapabilirsiniz fakat self terimini eklemeyi unutmayın.
Bu özelliği çocuk sınıfında ilgili fonksiyonu geliştirmek için kullanabilirsiniz. Yani ebeveyn sınıfın fonksiyonunu geçersiz kılmadan ona yeni özellikler ekleyebilirsiniz.
Last updated