Partilhar via


Design de classe estática

Observação

Este conteúdo é reimpresso com permissão da Pearson Education, Inc., a partir 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 revisto 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 de instância herdados de System.Object e, possivelmente, um construtor privado. Alguns idiomas fornecem suporte interno para classes estáticas. Em 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 compromisso entre o design orientado a objetos puro e a simplicidade. Eles são comumente usados para fornecer atalhos para outras operações (como System.IO.File), detentores de métodos de extensão ou funcionalidades para as quais um wrapper orientado a objeto completo é injustificado (como System.Environment).

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

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

❌ NÃO trate as classes estáticas como um repositório geral.

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

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

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

Reimpresso com permissão da Pearson Education, Inc., a partir de Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition por Krzysztof Cwalina e Brad Abrams, publicado em 22 de outubro de 2008 pela Addison-Wesley Professional como parte da Microsoft Windows Development Series.

Ver também