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.