CodeBlanks Logo Icon CodeBlanks

Metot geçersiz kılma

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

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):
    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

Soru
class Dog(Animal):
    def speak(self):
        print(____)
Cevap
class Dog(Animal):
    def speak(self):
        print("Hav")

Açıklama: Dog.speak "Hav" yazdırır; ebeveyni geçersiz kılar.

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