1
resposta

[Projeto] + Sobre "static"

Em C#, a palavra-chave static é usada para declarar membros (métodos, propriedades, campos, eventos) que pertencem à classe em si, em vez de pertencerem a instâncias individuais da classe. Aqui estão os principais usos e efeitos do static:

  1. Membros Estáticos: Quando você declara um membro como static, ele se torna compartilhado por todas as instâncias da classe. Isso significa que ele pode ser acessado sem a necessidade de criar uma instância da classe. Por exemplo:
public class Exemplo
{
    public static int Numero = 10;

    public static void MetodoEstatico()
    {
        Console.WriteLine("Método estático chamado");
    }
}

Você pode acessar o membro Numero e o método MetodoEstatico diretamente usando o nome da classe:

int num = Exemplo.Numero; // Acesso ao campo estático
Exemplo.MetodoEstatico(); // Chamada do método estático
  1. Classes Estáticas: Você também pode declarar uma classe inteira como static. Isso significa que a classe não pode ser instanciada e todos os membros da classe devem ser estáticos. Classes estáticas são úteis quando você tem uma coleção de métodos e campos relacionados que não dependem de instâncias específicas. Por exemplo:
public static class Utilitarios
{
    public static void Metodo1()
    {
        // Implementação do método 1
    }

    public static void Metodo2()
    {
        // Implementação do método 2
    }
}

Nesse caso, você não pode criar uma instância da classe Utilitarios, mas pode chamar seus métodos diretamente:

Utilitarios.Metodo1();
Utilitarios.Metodo2();
  1. Construtores Estáticos: Você pode ter um construtor estático em uma classe, que é chamado automaticamente uma vez, quando a classe é carregada pela primeira vez. Construtores estáticos são usados para inicializar membros estáticos da classe. Por exemplo:
public class Exemplo
{
    public static int Numero { get; set; }

    static Exemplo()
    {
        Numero = 100;
        Console.WriteLine("Construtor estático chamado");
    }
}

No exemplo acima, o construtor estático inicializa o campo estático Numero e imprime uma mensagem. Este construtor será chamado automaticamente quando a classe Exemplo for carregada pela primeira vez.

Em resumo, static é usado para definir membros que pertencem à classe em vez de pertencerem a instâncias individuais da classe, permitindo acesso direto sem a necessidade de criar instâncias da classe.

1 resposta

Olá, Guilherme! Como vai?

Parece que você tem um bom entendimento sobre o uso da palavra-chave static em C#. Você está absolutamente correto em suas afirmações.

No contexto da aula, o static é usado para criar um método que pode ser chamado diretamente da classe, sem a necessidade de criar uma instância da classe. No exemplo dado, o método Parse é declarado como static, o que permite que ele seja chamado diretamente da classe Avaliacao, como mostrado abaixo:

Avaliacao nota = Avaliacao.Parse(Console.ReadLine()!);

Neste caso, Avaliacao.Parse(Console.ReadLine()!) está chamando o método Parse diretamente da classe Avaliacao, sem a necessidade de criar uma instância da classe. O método Parse é declarado como static, o que significa que ele pertence à classe Avaliacao e não a qualquer instância específica da classe.

Isso é particularmente útil neste cenário, pois o método Parse não precisa acessar ou modificar qualquer estado de uma instância específica da classe Avaliacao. Em vez disso, ele recebe uma string, a converte em um inteiro e retorna uma nova instância de Avaliacao com esse valor inteiro. Tudo isso é feito sem a necessidade de uma instância específica de Avaliacao.

Continue empenhando nos estudos e caso tenha problemas, conte com a comunidade do fórum.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software