Liskov Substitution Principle (LSP) fastslår, at objekter af en undertype skal kunne substitueres for deres basistype uden at bryde programmets korrekthed. Hvis kode fungerer med en Base, skal den fungere med enhver Subclass — samme adfærdsmæssige forventninger, ingen overraskelser.
