Wenn eine abgeleitete Klasse das Verhalten oder die Erwartungen der Basisklasse verändert (z. B. durch das Werfen unerwarteter Exceptions oder das Ignorieren von Basisverträgen), wird LSP verletzt.
Ein klassisches Beispiel: Eine Square
-Klasse, die von Rectangle
erbt, aber bei setWidth
auch die Höhe verändert – das verletzt das Verhalten der Basisklasse.
Was verletzt das Liskov Substitution Principle?
—