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ă().
- Este declarată cu
-
Metodă de instanță:
- Nu conține
static. - Este apelată pe un obiect specific:
obiect.Metodă().
- Nu conține
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.