Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Можно ли тут наследовать?
Нарушит ли это Принцип подстановки Барбары Лисков, или я неверно его понимаю ?
Ведь для объекта Knife постусловия после операции cut() например такие:
- лезвие стало менее острым чем было (изменение атрибута самого объекта)
- разрезаемый объект получил урон.
Но если подменять Knife на PocketKnife, и второй не раскрыт, то он этих постусловий не даст, сузит получается, а в принципе сказано - "Постусловия не могут быть ослаблены в подклассе"
Sail
Отправлено: 13 Февраля, 2017 - 09:28:44
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Vaganec Trosti, Вы же не ограничиваете метод cut().
Вы устанавливаете условие на возможность применения этого метода.
Если метод не применён, то и постусловия его применения остаются за рамками.
Vaganec Trosti
Отправлено: 13 Февраля, 2017 - 13:54:04
Новичок
Покинул форум
Сообщений всего: 21
Дата рег-ции: Янв. 2012
Помог: 0 раз(а)
Клиентский то код метод вызывает. Соотв. и ожидает наверное от него чего то, что указано в базовом классе..
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.