Índice:
Definição - O que significa Base Class - .NET?
Uma classe base, no contexto de C #, é uma classe usada para criar ou derivar outras classes. Classes derivadas de uma classe base são chamadas classes filho, subclasses ou classes derivadas. Uma classe base não herda de nenhuma outra classe e é considerada pai de uma classe derivada.
A classe base forma os meios pelos quais a herança é realizada por meio de derivação. Uma classe derivada de uma classe base herda dados e comportamento. Por exemplo, veículo pode ser uma classe base a partir da qual as classes derivadas carro e ônibus podem ser derivadas. Carro e ônibus são veículos, e cada um deles representa suas próprias especializações da classe base.
Como em Java, mas diferentemente do C ++, o C # não suporta várias heranças de classes. O C # difere do Java marcando explicitamente um modificador virtual para todos os membros virtuais.
Uma classe base também é conhecida como classe pai ou superclasse.
Techopedia explica Classe Base - .NET
A classe base ajuda a criar uma classe especializada que pode reutilizar o código que é obtido implicitamente da classe base (exceto construtores e destruidores) e estende a funcionalidade da classe base adicionando ou substituindo membros relevantes à classe derivada na classe derivada. Em C #, os eventos são declarados na classe base que podem ser gerados a partir de classes derivadas. Classes genéricas usadas para encapsular operações que não são específicas para um tipo de dados específico servem como classes base, fornecendo comportamento genérico para obter flexibilidade e reutilização de código.
A chave das propriedades da classe base em C #:
- Os membros da classe base (construtor, um método de instância ou acessador de propriedade da instância) são acessados na classe derivada usando a palavra-chave "base".
- As classes base são instanciadas automaticamente antes das classes derivadas.
- A classe derivada pode se comunicar com a classe base durante a instanciação chamando o construtor da classe base com uma lista de parâmetros correspondente.
- Os membros da classe base podem ser acessados a partir da classe derivada por meio de uma conversão explícita.
- Como uma classe base em si pode ser uma classe derivada, uma classe pode ter muitas classes base.
- Os membros de uma classe derivada podem acessar os membros públicos, protegidos, internos e internos protegidos de uma classe base.
- Devido à natureza transitiva da herança, embora uma classe derivada tenha apenas uma classe base, ela herda os membros declarados no pai da classe base.
- Ao declarar um método na classe base como virtual, a classe derivada pode substituir esse método por sua própria implementação. O método e a propriedade substituídos e substituídos devem ter os mesmos modificadores de nível de acesso, como virtual, abstrato ou substituição.
- Quando a palavra-chave "resumo" é usada para um método, ela deve ser substituída em qualquer classe não abstrata que herda diretamente dessa classe.
- As classes base abstratas são criadas usando a palavra-chave "abstract" em sua declaração e são usadas para impedir a iniciação direta usando a palavra-chave "new". Eles só podem ser usados através de classes derivadas que implementam métodos abstratos.
- Uma classe base pode impedir que outras classes herdem dela declarando todos os membros como "selados".
- Os membros da classe base podem ser ocultados em uma classe derivada usando a palavra-chave "new" para indicar que o membro não pretende ser uma substituição do membro base. Se "novo" não for usado, o compilador gera um aviso.
Embora a classe base e a interface possam ser usadas de forma intercambiável, as classes são mais flexíveis do que as interfaces na perspectiva de versionamento. A classe base é preferida na maioria dos casos, exceto nos seguintes cenários em que:
- Várias classes não relacionadas formam a base para a classe derivada
- Classes já estabeleceram classes base
- A agregação não é adequada ou prática