Metot geçersiz kılma
- Python kursu
- Orta seviye
- Ders 9/116
- 4 dk
Türetilmiş sınıfta metodu geçersiz kılmayı öğrenirsin.
Metot geçersiz kılma
Geçersiz kılma (override), çocuk sınıfın ebeveynin metodunu aynı isimle yeniden tanımlamasıdır. Çocuk örneği bu metodu çağırdığında çocuk sürümü çalışır.
Örnek: class Animal:\n def speak(self):\n print("Ses") ve class Dog(Animal):\n def speak(self):\n print("Hav"). d = Dog(); d.speak() çağrısı Hav yazdırır. Ebeveyn sürümü gizlenir ama super().speak() ile hâlâ çağrılabilir.
Çocuk önce aranır
Bir metodu çağırdığında Python önce çocuğa bakar; bulamazsa ebeveyne çıkar. Bu yüzden çocuktaki aynı isimli metot ebeveynin yerine geçer.
Örnek: Dog'da speak varsa d.speak() onu çağırır. Dog'da olmayan bir metot (ör. sleep) ebeveynde aranır. Bu mekanizma method resolution denir; çoklu mirasta sıra önemlidir.
Uygulama Dog.speak ile override yap
Önce Animal sınıfını tanımla; def speak(self): ve gövdede print("Ses") yaz. Sonra class Dog(Animal): tanımla; def speak(self): ekleyip gövdede print("Hav") yaz. Sonra d = Dog() 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):
def speak(self):
print("Hav")
d = Dog()
d.speak()Beklenen çıktı
Hav
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Override kavramlarını eşle
| Kavram | Anlamı |
|---|---|
Animal.speak |
Ebeveyn metodu |
Dog.speak |
Çocuk metodu |
d.speak() |
Çocuk sürümü çalışır |
2 Geçersiz kılma ne demektir?
- Çocuk sınıfın ebeveyn metodunu yeniden tanımlaması Doğru cevap
- Ebeveyn metodunu çağırmak
- Bir metodu silmek
- İki metodu birleştirmek
Açıklama: Geçersiz kılma, çocuğun aynı isimli metodu yeniden tanımlamasıdır.
3 Override gövdesini tamamla
class Dog(Animal):
def speak(self):
print(____)
class Dog(Animal):
def speak(self):
print("Hav")
Açıklama: Dog.speak "Hav" yazdırır; ebeveyni geçersiz kılar.