Aula 20: Projeto final II — estendendo com herança
O hotel é um sucesso — e chega uma nova exigência: cachorros precisam de passeios, gatos precisam de caixas de areia. Em vez de reescrever o sistema, nós o estendemos: Dog e Cat herdam de Pet, e o hotel inteiro continua funcionando sem mudar uma linha sequer. Essa é a habilidade real do dia a dia no
O hotel não precisa saber quem é cachorro e quem é gato — ele pergunta a cada hóspede "quais são as suas instruções?" e cada um responde do seu jeito. Uma única recepção, hóspedes de todos os tipos.
- extensão de modelo
- Adicionar capacidades a um sistema existente por meio de novas classes filhas — sem tocar no código que já funciona.
- aberto para extensão, fechado para modificação
- Um princípio de design: código bom cresce adicionando novas classes, não editando as existentes.