Zacznij terazZacznij za darmo

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

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Define a Rectangle class
____

# Define a Square class
____
Edytuj i uruchom kod