Sobes.tech
Junior — Middle

Cum se deosebește o metodă statică de o metodă care este apelată pe un obiect specific al clasei?

sobes.tech AI

Răspuns de la AI

În C#, o metodă statică este definită cu cuvântul cheie static și este apelată pe clasa în sine, nu pe o instanță a obiectului.

Diferențe:

  • Metodă statică:

    • Este declarată cu static.
    • Nu are acces la câmpurile și metodele non-statice ale clasei.
    • Este apelată prin numele clasei: NumeClasă.Metodă().
  • Metodă de instanță:

    • Nu conține static.
    • Este apelată pe un obiect specific: obiect.Metodă().

Exemplu:

class ClasaMea
{
    public static void MetodaStatica()
    {
        Console.WriteLine("Metodă statică");
    }

    public void MetodaDeInstanta()
    {
        Console.WriteLine("Metodă de instanță");
    }
}

// Apeluri
ClasaMea.MetodaStatica(); // apelul metodei statice

ClasaMea obj = new ClasaMea();
obj.MetodaDeInstanta(); // apel pe un obiect

Prin urmare, diferența principală constă în modul de apelare și în prezența cuvântului cheie static.