Prinsip Substitusi Liskov (LSP) menyatakan bahwa objek dari subtipe harus dapat digantikan dengan tipe dasarnya tanpa merusak kebenaran program. Jika kode bekerja dengan Base, maka harus bekerja dengan Subclass apa pun — ekspektasi perilaku yang sama, tanpa kejutan.
Mengapa ini penting
{
w, h;
{ .w = w; }
{ .h = h; }
{ w * h; }
}
{
{ .w = w; .h = w; }
{ .w = h; .h = h; }
}
{
r.setWidth();
r.setHeight();
r.area() == ;
}
