Definindo classes em C# – Parte 2

Métodos Estáticos

No post anterior vimos que uma classe pode ser instanciada, e que cada instância é chamada de objeto. Cada objeto é independente, ou seja, instâncias da mesma classe “não se conhecem”, não compartilham dados.

Pessoa pessoa1 = new Pessoa();
Pessoa pessoa2 = new Pessoa(1,"Filogonio Silva",dataNasc);
Pessoa pessoa3 = new Pessoa(2,"Fippildo Silva",dataNasc);

No código acima, as instâncias (ou objetos) da classe Pessoa, pessoa1, pessoa2 e pessoa3 contêm seus próprios dados. Os membros criados na classe somente podem ser vistos por seus respectivos objetos, pois foram definidos como membros de objetos. Há caso que esse não é o comportamento desejado. É possível definir membros da classe, que são chamados de membros estáticos, não sendo necessário instanciar a classe para usá-los.

A declaração de um membro estático se dá através da palavra reservada static. Um membro estático está disponível desde o momento que o programa é executado.

O código abaixo exemplifica a definição de um atributo estático e sua respectiva propriedade (somente get) para retorna seu valor.

//atributo estático
static int _tamanhoNome = 100;

//propriedade estática
public static int TamanhoNome
{
    get { return _tamanhoNome; }
}

Como dito anteriormente, um membro estático existe deste a execução do programa, não sendo necessária a instanciação da classe, basta acessar a classe e invocar o membro estático.

Pessoa pessoa1 = new Pessoa();
Pessoa pessoa2 = new Pessoa(1, "Filogonio Silva", dataNasc);
Pessoa pessoa3 = new Pessoa(2, "Fippildo Silva", dataNasc);

//Uso de propriedade estática.
Response.Write(Pessoa.TamanhoNome);

Para finalizar, é importante destacar que um método estático não pode acessar outros membros da classe que não sejam estáticos.

Até o próximo…

Uma ideia sobre “Definindo classes em C# – Parte 2

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios são marcados com *