Olá pessoal, neste artigo veremos os conceitos e um exemplo com as Classes e Membros Estáticos da linguagem C#. Acompanhem:

 Classes Estáticas – As classes estáticas são aquelas que contêm apenas membros estáticos, além de que elas não podem ser instanciadas. Quando o programa ou o namespace que possui determinada classe estática é carregado, o CLR (Common Language Runtime) do .NET Framework carrega automaticamente as classes estáticas.

 Podemos usá-la no caso de não haver comportamento ou dados na classe que depende da identidade do objeto.

 É recomendado o uso de classes estáticas para manter métodos não associados com um objeto específico. Elas são caracterizadas por não poderem ser herdadas, já que são seladas.

 Será feito um artigo sobre o modificador Sealed, aguardem!

 O trabalho de criar uma classe estática é muito semelhante à criação de uma classe com um construtor privado (evita o instanciamento da classe) e que possua somente membros estáticos.

 Não podemos usar a palavra-chave new para criar instâncias de uma classe estática já que, como já foi dito, elas não podem ser instanciadas. Além disso, elas não podem ter Instance Constructors (mais sobre ele aqui). Embora possamos declarar um construtor estático para atribuir valores iniciais ou aplicar algum estado estático, a existência de construtores em classes estáticas não pode ocorrer.

 Ao usarmos uma classe estática, o compilador não permitirá a criação de instância desta classe. O compilador irá se certificar se membros de instância não foram acrescentados por acidente.

 - Membros Estáticos – Os membros estáticos são campos, métodos, eventos ou propriedades que podem ser chamados em uma classe mesmo que não tenha sido criada uma instância desta classe.

 Podemos usar membros estáticos para separar os dados e o comportamento, que independem de qualquer identidade do objeto, ou seja, os dados e funções nunca irão se modificar, independente do que acontecer com seu objeto.

 Veja algumas regras sobre o uso de membros estáticos:

 - Não podem ser acessados por meio de instâncias criadas para a classe;

 - Propriedades e métodos estáticos podem acessar apenas campos estáticos e eventos estáticos;

 - Eventos e campos estáticos possuem apenas uma cópia.

 Veja agora um exemplo com o uso do modificador static em um método qualquer:

class Program

    {

        public static string ArmazenarNome(string nome)

        {

            return nome;

        }

 

        static void Main(string[] args)

        {

            Console.WriteLine("Seu nome é: " + ArmazenarNome(Console.ReadLine()));

           

            Console.ReadKey();

        }

    }

 O resultado será:


 Reparem que o método é chamado sem fazer referência a qualquer objeto da classe.

 Fonte de Consulta: Apostila de C#, da Impacta Tecnologia.

 Assim finalizo o artigo. Muito obrigado a todos!

 Um abraço, e até o próximo artigo.

 Wellington Balbo de Camargo

 wellingtonbalbo@gmail.com