top of page

Static vs. Instance no C#: Desvendando o Duelo entre os Dois

  • Foto do escritor: Fernando Coregio
    Fernando Coregio
  • 27 de jul. de 2023
  • 2 min de leitura

ree

Olá, pessoal! 👋


Hoje vamos entrar em um duelo épico no mundo da programação C#: Static vs. Instance!


😎 É uma batalha entre dois conceitos fundamentais que podem determinar o destino do seu código. Então, prepare sua pipoca e venha conosco nessa aventura!


Round 1: Entendendo os Conceitos


Antes de começarmos a batalha, vamos entender melhor nossos adversários:


👉 Static: Quando um membro de uma classe é declarado como "static", significa que ele pertence à própria classe em vez de pertencer a uma instância dessa classe. Em outras palavras, os membros estáticos são compartilhados por todas as instâncias da classe e só possuem uma única cópia na memória.


👉 Instance: Por outro lado, os membros de uma classe que não são declarados como estáticos são chamados de membros de instância. Cada vez que você cria um novo objeto (instância) dessa classe, os membros de instância têm uma cópia exclusiva associada a esse objeto.


Round 2: Exemplos Simples


Exemplo 1 - Membros Estáticos:

csharp code
class MathUtils
{
    public static int Add(int a, int b)
    {
        return a + b;
    }
}

// Uso do membro estático int resultado = MathUtils.Add(5, 3);
Console.WriteLine(resultado); // Output: 8

No exemplo acima, o método Add é estático. Você pode chamá-lo diretamente usando o nome da classe, pois ele pertence à própria classe, não a uma instância específica.


Exemplo 2 - Membros de Instância:

csharp code
class Pessoa
{
    public string Nome { get; set; }
    public int Idade { get; set; }

    public void Apresentar()
    {
        Console.WriteLine($"Olá, meu nome é {Nome} e tenho {Idade} anos.");
    }
}

// Uso do membro de instância
Pessoa pessoa1 = new Pessoa();
pessoa1.Nome = "João";
pessoa1.Idade = 25;
pessoa1.Apresentar(); // Output: Olá, meu nome é João e tenho 25 anos.

Pessoa pessoa2 = new Pessoa();
pessoa2.Nome = "Maria";
pessoa2.Idade = 30;
pessoa2.Apresentar(); // Output: Olá, meu nome é Maria e tenho 30 anos.

Aqui, o método Apresentar e as propriedades Nome e Idade são membros de instância. Cada objeto criado possui sua cópia única desses membros.


Round 3: Conclusão


O duelo entre Static vs. Instance pode parecer complicado, mas a escolha correta depende da tarefa que você deseja realizar. Membros estáticos são úteis para funções utilitárias e valores compartilhados, enquanto membros de instância são perfeitos para dados específicos de cada objeto.


Agora que entendemos melhor os conceitos de Static e Instance, você pode aplicá-los em suas aventuras de programação! 🚀


Até a próxima batalha!



PS: Lembre-se sempre de utilizar os conceitos de forma adequada para garantir um código mais organizado e eficiente!

Comments


Fernando R. Coregio. Criado orgulhosamente com Wix.com

bottom of page