O Liskov Substitution Principle (LSP) afirma que objetos de um subtipo devem ser substituíveis por seu tipo base sem quebrar a corretude do programa. Se o código funciona com uma Base, deve funcionar com qualquer Subclass — mesmas expectativas comportamentais, sem surpresas.
