POO:ヘランサ

Herança permite que uma classe derive de outra, reutilizando sua estrutura e comportamento. A classe derivada, ou subclasse, pode especializar a funcionalidade da classe base. Um exemplo em C# demonstra como a classe Gerente herda de Funcionario, reutilizando o cálculo de salário. Mecanismos chave incluem chamar o construtor da classe pai, usar virtual na base para permitir sobrescrita, e override com reutilização da lógica original. A regra de ouro para herança é o teste "é um", onde um Gerente é um Funcionario. Se a relação for "tem um", como um Carro tem um Motor, a composição é mais apropriada. A palavra-chave sealed impede que uma classe seja herdada, garantindo que seu comportamento não seja alterado e permitindo otimizações pelo compilador. Herança profunda, com muitos níveis, pode criar acoplamento e dificultar a manutenção, sugerindo a preferência por composição em casos complexos. C# proíbe herança múltipla de classes para evitar o "problema do diamante". Em um exemplo de jogo, classes como Guerreiro, Mago e Arqueiro herdam funcionalidades básicas de Personagem, como atacar e tomar dano. Cada subclasse adiciona apenas suas características específicas, como Armadura para Guerreiro ou Mana para Mago.