Python

Python’da Miras Alma (Inheritance)

Bu yazımızda, Python’da “Miras Alma” (Inheritance) konseptine odaklanacağız. Miras alma, nesne tabanlı programlamanın temel konseptlerinden biridir ve bir sınıfın başka bir sınıftan özelliklerini (nitelikler ve metotlar) almasını sağlar. Bu sayede kodun tekrar kullanılabilirliği artar ve modülerlik sağlanır. Şimdi bu konseptin nasıl çalıştığına ve nasıl uygulandığına dair detaylara birlikte göz atalım.

Python’da Miras Alma

Bir sınıfta bulunan kodları sürekli tekrarlamak yerine, bu sınıfın özelliklerini ve metotlarını kullanacak alt sınıflar oluşturabiliriz. Miras alma konseptinde, genellikle “ebeveyn” (parent) ve “çocuk” (child) olmak üzere iki sınıf yapısından bahsederiz. Child sınıf, parent sınıfın niteliklerini veya metotlarını kullanabilir. Bu nedenle, child sınıf aynı zamanda parent sınıftan türetildiği için “alt sınıf” (sub class) olarak da adlandırılır.

Bunu yapabilmek için, yani bir sınıfın başka bir sınıftan miras almasını sağlamak için, türetilen sınıfın isminden sonra parantez içinde ana sınıfın ismi belirtilir.

Yukarıda Kopek sınıfı, Hayvan sınıfından miras almıştır. Bu sayede Kopek sınıfı, Hayvan sınıfının tüm özelliklerine erişebilir. Kodu çalıştırmak için: Trinket

Alt Sınıfta “__init__ ()” Fonksiyonunu Kullanmak

Initializier” (başlatıcı) kelimesinden türetilen “__init__ ()” fonksiyonu bir nesne yazıldığında öncelikli olarak çalıştırılırlar. Bu fonksiyon pekala alt sınıflarda da kullanılabilir. Ancak kullanılması durumunda üst sınıfa ait “__init__ ()” fonksiyonunu otomatik olarak çağrılmayacaktır.

Bu şekilde, __init__ fonksiyonunun nerede ve nasıl tanımlandığına bağlı olarak hangi sınıfın __init__ fonksiyonunun çalıştığını görebilirsiniz. Kodu çalıştırmak için: Trinket

“super ()” Fonksiyonu Kullanımı

Ancak, alt sınıfın __init__() fonksiyonundan super().__init__() ile ebeveyn sınıfın __init__() fonksiyonu manuel olarak çağrılabilir.

Bu örnekte, Kopek sınıfının __init__() fonksiyonu içerisinde super().__init__(ad) kullanılarak Hayvan sınıfının __init__() fonksiyonu manuel olarak çağrıldı. Bu sayede hem Hayvan sınıfının __init__() fonksiyonundaki işlemler gerçekleştirildi, hem de Kopek sınıfındaki ek işlemler yapıldı. Kodu çalıştırmak için: Trinket

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu

😔 Reklam Engelleyicisi 😔

Sitenin varlığını sürdürebilmesi adına reklam engelleyicinizi (Adblocker) kapatmanızı rica ediyoruz 😔