Liskov Substitution Principle (LSP) inasema kuwa vitu vya subtype lazima viweze kubadilishwa kwa aina yao ya msingi bila kuvunja usahihi wa programu. Ikiwa msimbo unafanya kazi na Base, lazima ufanye kazi na Subclass yoyote — matarajio sawa ya tabia, hakuna mshangao.
Ukiukaji wa kawaida: Square extends Rectangle
{
w, h;
{ .w = w; }
{ .h = h; }
{ w * h; }
}
{
{ .w = w; .h = w; }
{ .w = h; .h = h; }
}
{
r.setWidth();
r.setHeight();
r.area() == ;
}
