CodeBlanks Logo Icon CodeBlanks

Miras temelleri

class Child(Parent) ile miras almayı öğrenirsin.

Miras alma

Miras alma (inheritance), bir sınıfın başka bir sınıfın öznitelik ve metotlarını devralmasıdır. Çocuk sınıf, ebeveyn sınıfın adını parantez içine yazılır.

Örnek: class Dog(Animal): pass. Burada Dog çocuktur, Animal ebeveyndir. Dog, Animal'ın tüm metotlarını miras alır. Ebeveyn sınıf önce tanımlanmalıdır. Miras, kod tekrarını azaltır.

Ebeveyn önce tanımlanır

Miras almak için ebeveyn sınıfın çocuktan önce tanımlanmış olması gerekir. Python yukarıdan aşağıya okur; tanımsız bir adı parantez içine yazarsan NameError alırsın.

Örnek: önce class Animal: pass, sonra class Dog(Animal): pass. Çocuk sınıf, ebeveynin tüm public öznitelik ve metotlarına erişebilir. Çocuğa yeni metotlar eklemek de mümkündür; böylece çocuk ebeveyne özgü davranış kazanır.

Uygulama Dog sınıfını Animal'dan miras al

Önce Animal sınıfını tanımla; içine def speak(self): metodu ekle ve gövdede print("Ses") yaz. Sonra class Dog(Animal): pass ile çocuk sınıfı tanımla. Son olarak d = Dog() ile örnek oluştur ve d.speak() çağrısı yap.

Başlangıç kodu

main.py
# Animal ve Dog sınıflarını tanımla

Örnek çözüm

main.py
# Animal ve Dog sınıflarını tanımla
class Animal:
    def speak(self):
        print("Ses")

class Dog(Animal):
    pass

d = Dog()
d.speak()

Beklenen çıktı

Ses

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi geçerli bir miras tanımıdır?

  • class Dog -> Animal: pass
  • class Dog extends Animal: pass
  • class Dog(Animal): pass Doğru cevap
  • class Dog: Animal: pass

Açıklama: Python'da miras class Çocuk(Ebeveyn): biçiminde yazılır.

2 Miras tanımını tamamla

Soru
class Dog(____):
    pass
Cevap
class Dog(Animal):
    pass

Açıklama: Dog, Animal sınıfından miras alır.

3 Miras parçalarını eşle

Kavram Anlamı
Dog Çocuk sınıf
Animal Ebeveyn sınıf
() Parantez

Orta seviye bölümündeki tüm dersler