Junior — Middle
Como distinguir um método estático de um método que é chamado em um objeto específico da classe?
sobes.tech IA
Resposta da IA
No C#, um método estático é definido com a palavra-chave static e é chamado na própria classe, não numa instância do objeto.
Diferenças:
-
Método estático:
- É declarado com
static. - Não tem acesso aos campos e métodos não estáticos da classe.
- É chamado pelo nome da classe:
NomeDaClasse.Metodo().
- É declarado com
-
Método de instância:
- Não possui
static. - É chamado num objeto específico:
objeto.Metodo().
- Não possui
Exemplo:
class MinhaClasse
{
public static void MetodoEstatico()
{
Console.WriteLine("Método estático");
}
public void MetodoDeInstancia()
{
Console.WriteLine("Método de instância");
}
}
// Chamadas
MinhaClasse.MetodoEstatico(); // chamada ao método estático
MinhaClasse obj = new MinhaClasse();
obj.MetodoDeInstancia(); // chamada do método no objeto
Assim, a principal diferença é a forma de chamada e a presença da palavra-chave static.