Квадрат и прямоугольник
Классический пример нарушения принципа подстановки Лисков — проблема круга и эллипса, которую иногда называют проблемой квадрата и прямоугольника.
На первый взгляд кажется вполне логичным определить класс Rectangle с атрибутами h и w (высота и ширина), а затем создать класс Square, унаследованный от Rectangle. Ведь квадрат «является» прямоугольником!
К сожалению, эта интуиция не работает в объектно-ориентированном проектировании.
Это упражнение является частью курса
Объектно-ориентированное программирование на Python
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Define a Rectangle class
____
# Define a Square class
____