Miras temelleri
- Python kursu
- Orta seviye
- Ders 7/116
- 5 dk
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
# Animal ve Dog sınıflarını tanımlaÖrnek çözüm
# 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
class Dog(____):
pass
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 |