Lar Desenvolvimento O que é uma classe selada? - o que é techopedia

O que é uma classe selada? - o que é techopedia

Índice:

Anonim

Definição - O que significa Classe Selada?

Uma classe selada, em C #, é uma classe que não pode ser herdada por nenhuma classe, mas pode ser instanciada.

A intenção do design de uma classe selada é indicar que a classe é especializada e não há necessidade de estendê-la para fornecer funcionalidade adicional por herança para substituir seu comportamento. Uma classe selada é frequentemente usada para encapsular uma lógica que precisa ser usada em todo o programa, mas sem nenhuma alteração.

Uma classe selada é usada principalmente por razões de segurança, impedindo derivações não intencionais pelas quais a classe derivada pode corromper a implementação fornecida na classe selada. Como a classe selada não pode formar uma classe base, as chamadas para classes seladas são um pouco mais rápidas, pois permitem certas otimizações de tempo de execução, como a invocação de funções-membro virtuais em instâncias da classe selada em invocações não virtuais. A classe selada ajuda no controle de versão, sem quebrar a compatibilidade ao alterar uma classe do tipo selado para não selado.

Algumas das principais classes da biblioteca de estrutura .NET foram projetadas como classes seladas, principalmente para limitar a extensibilidade dessas classes.

Techopedia explica Classe Selada

Ao contrário de uma estrutura, que é implicitamente selada, uma classe selada é declarada com a palavra-chave "selada" para impedir a herança acidental da classe. Uma classe selada pode ser útil apenas se tiver métodos com acessibilidade em nível público. Uma classe selada não pode ser uma classe abstrata, pois a classe abstrata deve ser derivada por outra classe que fornece implementação para os métodos e propriedades abstratos.

Por exemplo, uma classe selada, DatabaseHelper, pode ser projetada com propriedades e métodos que podem atender às funcionalidades de ações relacionadas ao banco de dados, incluindo conexão de banco de dados aberto e fechado, buscar e atualizar dados, etc. Porque executa funções cruciais que devem não seja violado substituindo em suas classes derivadas, ele pode ser projetado como classe selada.

A vedação restringe o benefício da extensibilidade e impede a personalização dos tipos de biblioteca. Portanto, uma classe deve ser selada após pesar cuidadosamente o impacto de sua vedação. A lista de critérios a serem considerados para selar uma classe inclui:
  • A classe é estática
  • A classe contém membros herdados que representam informações confidenciais
  • A classe é consultada para recuperar seus atributos através do método de reflexão
  • A classe herda muitos membros virtuais que precisam ser selados
Esta definição foi escrita no contexto de C #
O que é uma classe selada? - o que é techopedia