Classe derivada

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 meio de herança é conhecida como classe base ou superclasse.

Enquanto herda da classe base, a classe derivada herda implicitamente todos os membros (exceto construtores e destruidores) que ela reutiliza, estende e modifica o comportamento da classe base. A classe derivada substitui as propriedades e métodos da classe base para que represente a versão especializada da classe base. C # fornece capacidade de substituir e ocultar métodos de classe base em classe derivada, o que faz com que ambas as classes evoluam livremente e mantenham a compatibilidade binária.

Definirtec explica classe derivada

A seguir estão alguns dos recursos de classes derivadas em C #:

  • Como em Java e ao contrário de 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 de base pai declaradas em sua hierarquia de herança, devido à natureza transitiva da herança
  • Os modificadores de acesso usados ​​na instrução de declaração da classe derivada especificam as permissões para usar membros de sua classe base
  • O 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 'override' para declarar o método virtual (declarado em sua classe base com a palavra-chave 'virtual') que deve ser substituído. Apenas métodos e propriedades de 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, 'novo'. Para acessar o método na classe base 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 uma 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

Esta definição foi escrita no contexto do .NET