1. 学ぶ
  2. /
  3. コース
  4. /
  5. Объектно-ориентированное программирование на Python

Connected

演習

Квадрат и прямоугольник

Классический пример нарушения принципа подстановки Лисков — проблема круга и эллипса, которую иногда называют проблемой квадрата и прямоугольника.

На первый взгляд кажется вполне логичным определить класс Rectangle с атрибутами h и w (высота и ширина), а затем создать класс Square, унаследованный от Rectangle. Ведь квадрат «является» прямоугольником!

К сожалению, эта интуиция не работает в объектно-ориентированном проектировании.

指示1 / 4

undefined XP
    1
    2
    3
    4
  • Создайте класс Rectangle с конструктором, принимающим два параметра — h и w — и устанавливающим атрибуты h и w в соответствующие значения.
  • Создайте класс Square, унаследованный от Rectangle, с конструктором, принимающим один параметр w и устанавливающим оба атрибута — h и w — в значение w.