Compartilhar via


A limitação de extensibilidade lacrar Classes

Você pode usar o fechamento para limitar as maneiras em que os desenvolvedores podem estender sua estrutura. Quando você lacrar uma classe, outras classes não é possível herdar a partir dele. Quando você lacrar um membro, classes derivadas não podem substituir a implementação do membro. Você não deve selar tipos e membros por padrão. O lacre a percepção de usabilidade para alguns desenvolvedores de impactos e impedirá a personalização da tipos de biblioteca e membros. Além disso, a extensibilidade é uma das principais vantagens do uso de uma estrutura orientada a objeto. Você deve avaliar cuidadosamente o decisões restringem esse benefício.

Não selar classes sem ter um bom motivo para isso.

Não assuma que porque você não vir um cenário que no qual uma classe de extensão seria desejável, que é apropriado lacrar a classe. Você deve selar classes que atendam a determinadas condições:

  • A classe é estática.

  • A classe contém membros protegidos herdados com informações confidenciais.

  • A classe herda de muitos membros virtuais e o desenvolvimento e os custos de teste para cada membro de fechamento são significativamente mais caros do que a classe inteira de fechamento.

  • A classe é um atributo que requer pesquisa rápida usando a reflexão. Lacrar um atributo melhora o desempenho de reflexão ao recuperar atributos.

Não declare membros virtuais ou protegidos em tipos lacrados.

Se um tipo é sealed, ele não pode ter classes derivadas. Membros protegidos podem ser acessados a partir de uma classe derivada e membros virtuais podem ser substituídos somente em uma classe derivada.

Considere a possibilidade de fechamento de membros que você substituir.

Você pode usar essa abordagem para garantir que as classes derivadas não modificar ou ignorar o comportamento, necessário para a classe atual e todas derivadas de classes.

Portions Copyright 2005 Microsoft Corporation. Todos os direitos reservados.

Portions Copyright Addison-Wesley Corporation. Todos os direitos reservados.

Para obter mais informações sobre as diretrizes de design, consulte a "diretrizes de Design do Framework: Convenções, idiomas e padrões de reutilizável.Bibliotecas de rede" catálogo por Krzysztof Cwalina e Brad Abrams, publicado pela Addison-Wesley, 2005.

Consulte também

Conceitos

Classes sem lacre

Outros recursos

Diretrizes de Design para desenvolvimento bibliotecas de classe

Criação de extensibilidade