Python Lernhandbuch

Kapitel 7: Klassen und Objekte · Abschnitt 4 von 5

Vererbung

python
class Sparkonto(Konto):                  # Sparkonto erbt von Konto
    def __init__(self, inhaber, stand=0.0, zins=0.02):
        super().__init__(inhaber, stand)   # Konstruktor der Elternklasse aufrufen
        self.zins = zins

    def zinsen_gutschreiben(self):
        self.einzahlen(self.stand * self.zins)

    def abheben(self, betrag):             # überschreibt die Methode der Elternklasse
        if betrag > 500:
            raise ValueError('Maximal 500 Euro pro Abhebung')
        super().abheben(betrag)

s = Sparkonto('Ben', 1000)
s.zinsen_gutschreiben()
print(isinstance(s, Konto))              # True: ein Sparkonto ist auch ein Konto

super() greift auf die Elternklasse zu. Mit isinstance(obj, Klasse) prüfst du die Zugehörigkeit. Nutze Vererbung sparsam: Oft ist es einfacher, ein Objekt in ein anderes zu stecken (Komposition), etwa einen Kunden mit einer Liste von Konto-Objekten.

Tipp: Bei Python-Beispielen kannst du auf ▶ Ausprobieren klicken, den Code verändern und direkt ausführen.

← Zurück