Почему прямоугольник не является экземпляром класса квадрата? Смотрю вэбинар по ООП, и там говорится про наследование классов на примере квадрата и прямоугольника
Дескать что лучше подходит для прородителя, квадрат или прямоугольник друг-другу
В реальности говорится что нито, ни другое
Потому что предком должен быть четырёхугольник, т.к. якобы площадь одинаково не посчитать у квадрата и прямоугольника
Почему не посчитать, если что у квадрата можно умножить ширину на высоту, что у прямоугольника
Мне кажется что квадрат подходит для предка прямоугольнику по иерархии, а наоборот нет
для ООП объекты что должны быть взаимозаменяемы?
задать_ширину()
задать_высоту()
вычислить_площадь()
ведь одни и теже свойства и методы
может потому что и квадрат и прямоугольник могут быть только объектами класса четырёхугольника?

21 Авг 2019 в 06:58
216 +1
1
Ответы
1

Да, вы правильно заметили. В контексте объектно-ориентированного программирования (ООП) экземпляры классов должны быть взаимозаменяемыми, чтобы обеспечить единообразное использование.

Однако, хотя квадрат и прямоугольник имеют общие свойства и методы, в данном случае более правильным будет определить четырёхугольник как общий предок. Это объясняется тем, что квадрат - это частный случай прямоугольника, где все стороны равны.

И хотя площадь квадрата можно вычислить, умножив сторону на сторону, использование общего прародителя - четырёхугольника - обеспечивает более ясную и правильную иерархию классов.

Таким образом, хотя в вашем случае и квадрат и прямоугольник могут быть объектами класса четырёхугольника, более правильным подходом будет определение четырёхугольника в качестве предка для квадрата и прямоугольника.

20 Апр 2024 в 13:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир