OpenU.Ru
Принцип, согласно которому любой экземпляр потомка X может использоваться в
качестве фактического значения переменной или параметра, объявленного как X,
не нарушая при этом семантику объявления или использования. Другими словами,
экземпляр элемента-потомка можно подставить вместо экземпляра элемента-предка
(термин Барбары Лисков (Barbara Liskov)).
См. generalization; implementation
inheritance; inheritance; interface
inheritance; polymorphic; private
inheritance.
Обсуждение
Назначение принципа подстановочности состоит в гарантировании работы полиморфных
операций. Он не относится к логическим принципам, скорее это правило программирования,
которое обеспечивает некую степень инкапсуляции. Отношение обобщения поддерживает
принцип подстановочности, следствием которого является то, что потомок
не может удалять свойства своего предка или отказываться
от них. В противном случае потомка нельзя было бы использовать в ситуации, где
объявлено использование предка.