Yükleniyor...

Kalıtım

Alt sınıfta siz, üst sınıfın zaten sakladığı kelimeyi olduğu gibi tutarsınız ve yalnızca bir işi değiştirirsiniz. Desk, Lamp'ın alt sınıfıdır; bunu Desk(Lamp) diye yazarsınız. Ortada ne paket ne de klasör var. Desk("blue") yine blue saklar, çünkü alt sınıf init'i yeniden yazmadı. Üst sınıfın label'ı kelimenin önüne glow koyar. Alt sınıfın label'ı önüne desk koyar. Her lambayı yine siz kurarsınız; class Desk(Lamp) satırı tek başına lamba oluşturmaz.

alt sınıf bir işi değiştirir

python
class Lamp:
    def __init__(self, color):
        self.color = color
    def label(self):
        return "glow " + self.color

class Desk(Lamp):
    def label(self):
        return "desk " + self.color

plain = Lamp("blue")
desk = Desk("blue")
print(plain.label())
print(desk.label())

Ekranda iki satır görürsünüz: önce glow blue, sonra desk blue. plain, Lamp'tan geldiği için üst sınıfın işi çalışır. desk, Desk'ten geldiği için alt sınıfın işi çalışır. Her satırda öndeki kelime ile blue arasında bir boşluk vardır. İki lamba da aynı kelimeyi saklar; yalnızca öne gelen iş değişti. print satırları yazar. Metotlar kelimeleri geri verir.

Alt sınıf üst sınıfı yeniden yazmaz. Bir Lamp hâlâ glow blue der. Bu sayfada kırmızı lamba yok. Değişen, bir Desk için hangi işin çalıştığıdır. plain.color ile desk.color ikisi de blue. Alt sınıf yeni bir renk saklamadı; yalnızca label'ı değiştirdi. Alt sınıfın kendi label'ı olmasaydı, desk için de üst sınıfın glow satırı çalışırdı. Bu alt sınıfın kendi label'ı var, bu yüzden ikinci satır desk blue.

Sonraki sayfa özel metotlar. Bu sayfa yalnızca saklanan kelimeyi tutan ve bir işi değiştiren bir alt sınıfı gösterir.

Alt sınıf kelimeyi tutar

Desk, Lamp'ın alt sınıfıdır. Ekranda önce glow blue, sonra desk blue görünür. Saklanan kelime blue kalır. Alt sınıf label'ı değiştirir, üst sınıfı yeniden yazmaz. Sonraki sayfa özel metotlar.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
7
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek