Lição 3: LSP e contratos comportamentais
Você trocou uma implementação por outra — e o sistema quebrou, mesmo com o compilador perfeitamente satisfeito. Por exemplo: um PreviewExporter que parece um Exporter em tudo, mas lança uma exceção justamente nas listas grandes que a produção usa. Nesta lição você vai aprender o Princípio da Substit
LSP é como pilhas sobressalentes: toda pilha AA precisa funcionar em qualquer aparelho feito para AA. Uma pilha que encaixa no compartimento mas queima o controle remoto quebrou a promessa.
- Princípio da Substituição de Liskov (LSP)
- Toda subclasse precisa funcionar em qualquer lugar em que seu tipo base seja esperado — sem surpresas para quem chama.
- contrato comportamental
- As promessas de um método além da assinatura: quais entradas são válidas, o que a saída garante, e quais erros podem ocorrer.