LINUX.ORG.RU

История изменений

Исправление KivApple, (текущая версия) :

Хорошо. Тогда я хочу заявить, что рассмотрение данного вопроса не имеет смысла без указания, какие контракты определены для setWidth и setHeight. Если же у метода нет чёткого контракта, то он явно не соответствует этому вашему принципу Лисков, ибо вызывающему метод объекту в этом случае не получится абстрагироваться от конкретной реализации и придётся проверять реальный класс объекта (а то мало ли, вдруг setWidth одного из потомков прямоугольника делает rm -rf /).

Исходная версия KivApple, :

Хорошо. Тогда я хочу заявить, что рассмотрение данного вопроса не имеет смысла без указания, какие контракты определены для setWidth и setHeight. Если же у метода нет чёткого контракта, то он явно не соответствует этому вашему принципу Лисков, ибо вызывающему метод объекту в этом случае не получится абстрагироваться от конкретной реализации и придётся проверять реальный класс объекта.