Η Αρχή Αντικατάστασης Liskov (LSP) δηλώνει ότι αντικείμενα ενός υποτύπου πρέπει να είναι αντικαταστάσιμα για τον βασικό τους τύπο χωρίς να σπάσουν την ορθότητα του προγράμματος. Αν ο κώδικας λειτουργεί με έναν Base, πρέπει να λειτουργεί με οποιοδήποτε Subclass — ίδιες συμπεριφορικές προσδοκίες, καμία έκπληξη.
