Compartilhar via


Design de classe estática

Observação

Este conteúdo é reimpresso com permissão da Pearson Education, Inc. de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. Essa edição foi publicada em 2008 e, desde então, o livro foi totalmente revisado na terceira edição. Algumas das informações nesta página podem estar desatualizadas.

Uma classe estática é definida como uma classe que contém apenas membros estáticos (é claro, além dos membros da instância herdados de System.Object e possivelmente de um construtor privado). Algumas linguagens dão suporte interno para classes estáticas. No C# 2.0 e posteriores, quando uma classe é declarada estática, ela é selada, abstrata e nenhum membro da instância pode ser substituído ou declarado.

As classes estáticas são um equilíbrio entre o design orientado a objetos puro e a simplicidade. Elas costumam ser usadas para fornecer atalhos para outras operações (como System.IO.File), detentores de métodos de extensão ou funcionalidade para a qual um wrapper completo orientado a objeto não se justifica (como System.Environment).

✔️ USE classes estáticas com moderação.

Classes estáticas devem ser usadas apenas como classes de suporte para o núcleo orientado a objeto da estrutura.

❌ NÃO trate classes estáticas como um bucket diverso.

❌ NÃO declare nem substitua membros da instância em classes estáticas.

✔️ Declare classes estáticas como seladas, abstratas e adicione um construtor de instância privada se a linguagem de programação não tiver suporte interno para classes estáticas.

Portions © 2005, 2009 Microsoft Corporation. Todos os direitos reservados.

Reimpresso com permissão da Pearson Education, Inc. das Diretrizes de Design do Framework: convenções, linguagens e padrões para bibliotecas do .NET reutilizável, 2ª edição por Krzysztof Cwalina e Brad Abrams, publicado em 22 de outubro de 2008 por Addison-Wesley Professional como parte da série de desenvolvimento do Microsoft Windows.

Confira também