Zasada podstawienia Liskov () – zasada projektowania w programowaniu obiektowym mówiąca, że:

Funkcje które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów. Inaczej mówiąc, klasa dziedzicząca powinna tylko rozszerzać możliwości klasy bazowej i w pewnym sensie nie zmieniać tego, co ona robiła już wcześniej. Mówiąc jeszcze inaczej – jeśli będziemy tworzyć egzemplarz klasy potomnej, to niezależnie od tego, co znajdzie się we wskaźniku na zmienną, wywoływanie metody, którą pierwotnie zdefiniowano w klasie bazowej, powinno dać kompatybilne rezultaty.

Zasada ta jest jednym z principiów SOLID i oznacza że klasa dziecka (dziedzicząca) powinna w logiczny i kompatybilny sposób implementować wszystkie metody klasy/interfejsu rodzica (błędem jest np. implementacja tylko części metod interfejsu i rzucanie wyjątków w pozostałych metodach).

Zasada została sformułowana po raz pierwszy przez Barbarę Liskov w książce „Data Abstraction and Hierarchy", a spopularyzowana i podana w obecnym brzmieniu przez Roberta C.