Índice:
Definição - O que significa Classe Derivada?
Uma classe derivada, no contexto de C #, é uma classe criada ou derivada de outra classe existente. A classe existente a partir da qual a classe derivada é criada por herança é conhecida como base ou superclasse.
Ao herdar da classe base, a classe derivada herda implicitamente todos os membros (exceto construtores e destruidores) que reutiliza, estende e modifica o comportamento da classe base. A classe derivada substitui as propriedades e os métodos da classe base para que ela represente a versão especializada da classe base. O C # fornece a capacidade de substituir e ocultar métodos da classe base na classe derivada, o que faz com que ambas as classes evoluam livremente e mantenham a compatibilidade binária.
Techopedia explica Classe Derivada
A seguir, estão alguns dos recursos das classes derivadas em C #:
- Como em Java e ao contrário do C ++, uma classe derivada não pode ter mais de uma classe base, mas pode ser derivada de mais de uma interface. No entanto, ele herda todos os membros de suas classes base pai declaradas em sua hierarquia de herança, devido à natureza transitiva da herança
- Modificadores de acesso usados na instrução de declaração da classe derivada especificam as permissões para usar membros de sua classe base
- Código no construtor de uma classe derivada que é executado durante sua criação, será executado somente após a execução do construtor de sua classe base
- A classe derivada deve usar o modificador, 'substituir' para declarar o método virtual (declarado em sua classe base com a palavra-chave 'virtual') que deve ser substituído. Somente métodos e propriedades da instância podem ser substituídos
- A classe derivada pode ter um novo método que oculta o método virtual declarado na base (com assinatura semelhante) usando a palavra-chave 'new'. Para acessar o método na classe base a partir da classe derivada, a palavra-chave 'base' pode ser usada
- Uma classe pode impedir a derivação declarando-a como 'selada' e não pode ser usada como classe base
- Uma classe derivada com classe base como classe abstrata pode ser instanciada se a classe derivada não for declarada abstrata e a classe derivada tiver a implementação para todos os métodos abstratos declarados na classe base