Quadrat und Rechteck
Das klassische Beispiel für ein Problem, das das Liskovsche Substitutionsprinzip verletzt, ist das Kreis-Ellipse-Problem, manchmal auch Quadrat-Rechteck-Problem genannt.
Auf den ersten Blick scheint es sinnvoll, eine Klasse Rectangle mit den Attributen h und w (für Höhe und Breite) zu definieren und dann eine Klasse Square, die von Rectangle erbt. Schließlich „ist“ ein Quadrat doch ein Rechteck!
Leider funktioniert diese Intuition im objektorientierten Design nicht.
Diese Übung ist Teil des Kurses
Objektorientierte Programmierung in Python
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Define a Rectangle class
____
# Define a Square class
____