Índice:
Definição - O que significa Herança?
Herança, em C #, é a capacidade de criar uma classe que herda atributos e comportamentos de uma classe existente. A classe recém-criada é a classe derivada (ou filha) e a classe existente é a classe base (ou pai).
A herança é um dos principais recursos da programação orientada a objetos. Os benefícios da herança fazem parte do motivo pelo qual a programação estrutural pode ser substituída pela programação orientada a objetos.
A herança em C # é projetada na implementação e no nível da interface. A herança de implementação envolve código de uma classe que é reutilizada em outra, enquanto a herança de interface implica a herança apenas das assinaturas de funções de um tipo para outro.
A herança também é conhecida como generalização.
Techopedia explica Herança
O C # não suporta herança múltipla, o que significa que uma classe pode derivar apenas de uma classe base, embora uma classe possa ser derivada de uma ou mais interfaces. Devido à natureza transitiva da herança, uma classe derivada herda todos os membros de seus ancestrais.
Por exemplo, classes, Carro e Ônibus podem ser derivadas de uma classe base, Veículo, por herança, porque Carro e Ônibus são tipos de Veículo.
Os principais recursos da herança incluem:
- Todos os membros da classe base, exceto aqueles com acessibilidade privada, podem ser acessados na classe derivada.
- Todos os membros da classe base são herdados da classe base, exceto construtores e destruidores.
- Diferentemente do C ++, os métodos virtuais em uma classe derivada precisam usar o modificador "substituir" para substituir um membro herdado.
- Para ocultar um membro herdado com o mesmo nome e assinatura na classe derivada, o modificador "novo" pode ser usado.
- Para impedir a instanciação direta de uma classe, o modificador "abstrato" pode ser usado.
- Para evitar derivações adicionais de uma classe base, ela pode ser declarada usando o modificador "selado".
- Permite a construção de uma hierarquia de classes relacionadas que podem reutilizar, estender e alterar os comportamentos definidos nas classes existentes.
- Permite a reutilização do código, reduzindo o tempo e o esforço na codificação e no teste.
- Ajuda a melhorar a modularidade e o desempenho ao dividir grandes partes de código em partes menores e mais fáceis de gerenciar.
- Ele forma os meios para atingir o polimorfismo, que permite que um objeto represente mais de um tipo.
Esta definição foi escrita no contexto de C #