Prinsip Penggantian Liskov (LSP) menyatakan bahwa objek dari subtipe harus dapat diganti dengan tipe asas mereka tanpa melanggar kebenaran program. Jika kod berfungsi dengan Base, ia mesti berfungsi dengan sebarang Subclass — jangkaan tingkah laku yang sama, tidak ada kejutan.
