Alternativa E - A ideia de que um módulo deve ser aberto para extensão, mas fechado para modificação.
Introdução
O Princípio Open/Closed é um dos 5 princípios SOLID da Programação Orientada a Objetos, proposto por Bertrand Meyer. Este princípio é fundamental para criar sistemas flexíveis e manuteníveis.
Desenvolvimento
O que significa Open/Closed?
| Conceito | Explicação |
|---|
| Aberto para Extensão | Você pode adicionar novas funcionalidades ao sistema |
| Fechado para Modificação | Código existente não precisa ser alterado para novas features |
Como funciona na prática?
- Use polimorfismo - Crie interfaces ou classes abstratas
- Implemente extensões - Crie novas classes que implementam essas interfaces
- Não modifique o original - O código já testado permanece intacto
Exemplo simples:
// FECHADO para modificação
class Calculadora {
calcular(valor) { ... }
}
// ABERTO para extensão
class CalculadoraComImposto extends Calculadora {
// Novo comportamento sem alterar Calculadora
}
Análise
- Opção A: Descreve hierarquia de herança genérica, não o princípio específico
- Opção B: Incorreto - objetos podem ter múltiplos métodos
- Opção C: Viola o conceito de encapsulamento (dados privados)
- Opção D: Descreve práticas ruins (alto acoplamento = mau design)
- Opção E: CORRETA - Define exatamente o Princípio Open/Closed
Conclusão
O princípio Open/Closed permite que você adicione novas funcionalidades sem quebrar código existente, reduzindo riscos de bugs e facilitando manutenção. Alternativa E.