Quadrat und Rechteck
Das klassische Beispiel für ein Problem, das gegen das Liskovsche Substitutionsprinzip verstößt, ist das Kreis-Ellipse-Problem, manchmal auch Quadrat-Rechteck-Problem genannt.
Auf jeden Fall solltest du in der Lage sein, eine Klasse Rectangle
zu definieren, mit den Attributen h
und w
(für Höhe und Breite), und dann eine Klasse Square
zu definieren, die von Rectangle
erbt. Schließlich ist ein Quadrat ein Rechteck!
Leider gilt diese Intuition nicht für objektorientiertes Design.
Diese Übung ist Teil des Kurses
Objektorientierte Programmierung in Python
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
# Define a Rectangle class
____
# Define a Square class
____