C# estático

C# estático

Uma palavra -chave estática é usada para criar uma cópia da variável ou da classe, ou qualquer método, qualquer coisa com que você tenha usado essa palavra -chave. Esta réplica é então compartilhada entre todos os objetos criados no nível da classe. Uma alocação estática é sempre declarada com o código e uma vez declarada não pode ser alterada. Enquanto a dinâmica é feita em tempo de execução pelo compilador. Da mesma forma, a palavra -chave estática que é usada com qualquer variável, classe ou método, tornou a variável, classe ou qualquer instância a não ser acessada por todos os outros objetos da classe.

Implementação da estática

Exemplo # 1: variável estática

A variável estática é criada através da palavra -chave estática. Quando tornamos a variável estática, uma cópia dessa variável é criada e é compartilhada entre todos os objetos no nível da classe. Não precisamos acessar a variável estática através de um objeto, mas é acessada usando o nome da classe com a variável. Para elaborar o conceito de variáveis ​​estáticas, vamos declará -lo na classe. Sugere -se usar a biblioteca do sistema, caso você esteja usando as classes e estruturas no programa. É criada uma variável que contém um valor da cor de um veículo. A sintaxe básica para a declaração de variável estática é dada aqui.

Public static string variable_name = value;

Agora, declararemos outra aula para que o programa principal seja escrito dentro. Dentro do programa, exibiremos apenas o valor da cor do veículo, declarado na primeira classe. Como o nome da classe é um veículo, esse nome de classe será usado com o nome da variável.

Veículo.Model_color;

O valor será exibido, pois a variável é acessada na declaração do console.

Vamos montar o código -fonte no editor de texto e depois executá -lo no terminal. Para a execução do código, precisamos de um compilador no Linux para compilar o código C Sharp C. Este compilador é MCS. Após a compilação, a execução do arquivo CS é feita através do mono usando o .EXE Extensão para executar o arquivo.

Arquivo de $ mcs.cs
$ MONO FILE.exe

Você pode ver que o valor da variável estática é acessado e exibido.

Exemplo # 2: uma função estática

Semelhante à variável estática, os métodos estáticos também podem ser declarados usando uma palavra -chave estática com seu nome no momento da declaração. Os métodos estáticos são acessados ​​através do nome da classe. É uma propriedade do método estático que pode acessar os campos estáticos e não estáticos. Vamos discutir isso mais tarde. Mas primeiro, vamos examinar o código que citamos aqui, no qual uma variável estática é declarada fora da função na amostra de classe, fazendo com que seja acessado globalmente de outra classe. Se for declarado dentro da função, será uma variável local e não será acessada por outras classes.

Public estático int t = 7;

Depois que a variável é atribuída, a função estática 'total' é declarada para imprimir o valor da variável. Mas esta função será executada através do programa principal. Agora, vamos declarar o mundo da classe e, em seguida, dentro dele, o programa principal estático é declarado. O método estático é acessado usando o nome da classe. Objetos separados para a classe não são criados aqui.

Amostra.total();

Salve o código e depois execute -o, você verá que a função total é chamada através do programa principal e, portanto, o valor é exibido.

Agora, criaremos funções estáticas e não estáticas dentro de uma única classe. A função estática é acessada através do nome da classe, mas para chamar a função não estática, precisamos criar uma instância de classe. O teste de classe é criado e duas funções Display1 () e Display2 () são declaradas aqui. Display1 () é uma função não estática, enquanto o segundo método é estático. A diferença nos dois métodos é devido à palavra -chave estática usada com o nome da função.

Public void Display1 ()
Public static void Display2 ()

Após a declaração de funções, um programa de classe é criado. O programa principal criará um objeto da classe 'teste', para acessar o método não estático. Para esse fim, a criação dinâmica ocorre através de um operador 'novo'.

Teste t1 = novo teste ();

Depois que o objeto foi criado, agora chame a função não estática através do objeto.

T1.mostrar();

Considerando que o método estático é chamado através do nome da classe.

Teste.display2 ();

O objeto acessará o método não estático, e um nome de classe será usado no caso do método estático. Então, na execução, as respectivas saídas serão exibidas.

Exemplo # 3: classe estática

Uma classe estática é declarada como a função estática usando o nome 'estático' junto com o nome da classe.

Tutorial de classe estática;

Todas as variáveis ​​ou funções declaradas dentro da classe estática são declaradas estáticas. Em outras palavras, esta classe não pode ter mais aula infantil, ou você pode dizer que ninguém pode herdar esta classe estática de outro.

Então, dentro da classe, um membro estático de dados é declarado para armazenar um valor.

Public static string tópico = "classe estática";

Outra classe pública chamada Linux é criada, tendo o programa principal. A variável estática é acessada através do nome da classe.

Exemplo # 4: construtor estático

Um construtor estático é criado com a palavra -chave estática dentro da classe. Quando criamos um objeto da classe, o construtor normal é executado, mas antes da execução do construtor, o construtor estático é executado. Declaramos o construtor estático e de instância normal.

G1 () estático;
Public G1 (int J);

Uma função de G1_Detail é criada para exibir as informações inseridas da pessoa.

Depois de definir os construtores, agora criaremos um programa principal dentro da classe. No programa principal estático, o objeto de classe será criado.

G1 obj = novo G1 (1);

Ao fazer esse objeto, ambos os construtores serão chamados. E então a função é chamada através deste objeto. O parâmetro é para o construtor de instância.

G1_detail ("nome", "ramo");

Portanto, os resultados conterão a saída dos dois construtores e depois da função. Depois disso, outro objeto é criado.

G1 OB = novo G1 (2);

Ao criar o segundo objeto, o construtor da instância será chamado apenas não estático, porque o construtor estático é chamado uma vez antes do construtor da instância, nem sempre.

Ao chamar a função novamente através do novo objeto, novos valores serão transferidos para a função.

Conclusão

Uma palavra -chave estática é usada para criar uma cópia de um item que é distribuído entre todos os objetos dessa classe. Uma palavra estática é anexada com o recipiente, você deseja fazer estática. Estático pode ser uma classe, variável de dados, um construtor ou um método também. C Sharp pode usar a palavra -chave estática para todas essas criações de programação. Uma classe estática nunca pode ser herdada por outra classe e, ao fazer uma classe estática, todas as suas variáveis ​​de dados, e os construtores são declarados estáticos para torná -la selada para outras classes.