Estático

Definição - o que significa estático?

Static, em C #, é uma palavra-chave que pode ser usada para declarar um membro de um tipo de forma que seja específico para aquele tipo. O modificador estático pode ser usado com uma classe, campo, método, propriedade, operador, evento ou construtor.

Um membro estático de uma classe pode ser usado para controlar as instâncias criadas e manter dados comuns a serem compartilhados entre todas as instâncias. Ele pode ser usado em classes auxiliares e utilitárias, que geralmente contêm métodos genéricos que contêm abstrações de lógica pura. Um construtor estático é usado para fazer entradas nos arquivos de log, bem como na classe wrapper para carregar as bibliotecas de vínculo dinâmico (DLLs) necessárias para executar o código não gerenciado.

Em geral, um modificador estático pode ser usado com dados e funções que não requerem que uma instância de uma classe seja acessada. É usado principalmente quando os dados e o comportamento de uma classe não dependem da identidade do objeto. O uso de classes e membros estáticos melhora a eficiência do código.

Definirtec explica estática

Um membro estático só pode ser referenciado por meio do nome do tipo e não por meio de uma instância do tipo. Static não pode ser usado com um destruidor, indexador ou qualquer tipo diferente de classe.

Ao contrário de um campo de instância, que tem uma cópia separada para cada instância de uma classe, um campo estático (ou variável) é compartilhado por todas as instâncias de uma classe. Um método estático pode ser sobrecarregado, mas não substituído. Ele não pode acessar membros não estáticos. Como um método estático não é chamado com uma referência a uma instância, é mais rápido invocar um método estático na pilha de chamadas do que um método de instância.

Uma classe estática pode incluir apenas membros estáticos. Ele não pode ser instanciado em tempo de execução e não pode ser herdado. Ele tem seu tempo de vida igual ao do aplicativo no qual reside. Um construtor estático não possui parâmetros e modificadores de acesso. Ele é chamado automaticamente antes da criação da primeira instância ou da referência a qualquer membro estático.

Por exemplo, uma classe estática, TemperatureConverter, pode ser usada para converter a temperatura de Celsius para Fahrenheit e vice-versa, fornecendo dois métodos que contêm o código para conversão.

O uso de um modificador estático tem suas próprias limitações, que incluem falta de segurança de thread, encapsulamento e facilidade de manutenção.

Esta definição foi escrita no contexto de C #