Liskov Substitution Principle (LSP) বলে যে একটি সাবটাইপের অবজেক্টগুলি তাদের বেস টাইপের জন্য প্রতিস্থাপনযোগ্য হতে হবে প্রোগ্রামের সঠিকতা ভাঙা ছাড়াই। যদি কোড একটি Base এর সাথে কাজ করে, তবে এটি যেকোনো Subclass এর সাথেও কাজ করতে হবে — একই আচরণগত প্রত্যাশা, কোনো চমক নেই।
সাধারণ লঙ্ঘন: 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() == ;
}
