Re[6]: Принцип подстановки Лисков (LSP из SOLID)
От: Sinclair Россия https://github.com/evilguest/
Дата: 27.07.11 17:22
Оценка: +1
Здравствуйте, vdimas, Вы писали:

V>LSP затрагивает как саму иерархию, так и код, её использующий. Даже идеальная иерархия типов, разработанная для соблюдения LSP, может быть использована с его нарушением.

Всё упирается в то, что мы считаем контрактом.
С точки зрения С++, контракт исчерпывается типами и количеством аргументов и возвращаемого результата.
Именно это проверяет компилятор.
То, что метод Numeral.Increment имеет ту же семантику (в общем смысле), что и метод Integer.Increment, компилятор проверить не может.
Но это — проблемы компилятора и конкретного языка, а не принципа в целом.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.