Принцип подстановки Лисков (Liskov Substitution Principle, LSP) — принцип организации подтипов в объектно-ориентированном программировании, предложенный Барбарой Лисков в 1987 году. 5
Суть принципа: объекты в программе должны быть взаимозаменяемыми экземплярами их базовых типов, не нарушая корректность программы. 1
Другими словами, код, который работает с базовым типом, должен работать и с любым его подтипом, не вызывая ошибок или неожиданного поведения. 1
Некоторые особенности принципа:
Принцип подстановки Лисков помогает чётче сформулировать иерархию классов, определить функционал для базовых и производных классов и избежать возможных проблем при применении полиморфизма. 3