- Autor
- Nome
- Nelson Silva
- Social
Introdução
Herança é fundamental em programação orientada a objetos. Em C#, oferece uma forma eficaz de criar e organizar classes reutilizáveis. Através da herança, as classes partilham atributos e comportamentos, reduzindo a redundância e aumentando a modularidade.
Porque usar Herança?
Vantagens
- Modularidade: Permite a separação de funcionalidades comuns a múltiplas classes.
- Reutilização de Código: Classes derivadas herdam características da classe base.
- Flexibilidade: Facilita a adição de funcionalidades específicas em subclasses.
Herança Múltipla e Interfaces
Em C#, não se pode herdar diretamente de múltiplas classes. No entanto, podemos implementar múltiplas interfaces. As interfaces são uma forma de contornar a restrição de herança múltipla, permitindo que uma classe tenha múltiplos comportamentos.
interface ICorrer {
void Correr();
}
interface IComer {
void Comer();
}
class Pessoa : ICorrer, IComer {
public void Correr() {
Console.WriteLine("Estou a correr.");
}
public void Comer() {
Console.WriteLine("Estou a comer.");
}
}
Classes Abstratas
Uma classe abstrata é uma classe que não pode ser instanciada diretamente. Serve como base para outras classes. Classes derivadas de uma classe abstrata devem implementar todos os seus métodos abstratos.
abstract class Animal {
public abstract void EmitirSom();
public void Dormir() {
Console.WriteLine("O animal está a dormir.");
}
}
class Cao : Animal {
public override void EmitirSom() {
Console.WriteLine("O cão late.");
}
}
Práticas Recomendadas
- Evitar herança profunda: Muitos níveis de herança podem tornar o código confuso.
- Preferir composição em vez de herança: Se a relação não é estritamente "é um", considere usar composição.
- Usar classes abstratas e interfaces de forma judiciosa: Ambas oferecem flexibilidade, mas têm diferentes implicações.
Conclusão
A herança em C# é uma ferramenta robusta, mas deve ser usada com discernimento. Compreender os conceitos fundamentais e as práticas recomendadas é crucial para maximizar os benefícios da herança sem cair em armadilhas comuns.