Kwadrat i prostokąt
Klasycznym przykładem naruszenia zasady podstawiania Liskov jest problem koła i elipsy, znany też jako problem kwadratu i prostokąta.
Na pierwszy rzut oka wydaje się logiczne, że można zdefiniować klasę Rectangle z atrybutami h i w (dla wysokości i szerokości), a następnie zdefiniować klasę Square, która dziedziczy po Rectangle. W końcu kwadrat „jest" prostokątem!
Niestety, ta intuicja nie przekłada się na projektowanie obiektowe.
To ćwiczenie jest częścią kursu
Programowanie obiektowe w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Define a Rectangle class
____
# Define a Square class
____