Junior — Middle
Jak odróżnić metodę statyczną od metody wywoływanej na konkretnym obiekcie klasy?
sobes.tech AI
Odpowiedź od AI
W C# metoda statyczna jest definiowana za pomocą słowa kluczowego static i wywoływana na samej klasie, a nie na instancji obiektu.
Różnice:
-
Metoda statyczna:
- Jest deklarowana za pomocą
static. - Nie ma dostępu do niestatycznych pól i metod klasy.
- Wywołuje się ją przez nazwę klasy:
NazwaKlasy.Metoda().
- Jest deklarowana za pomocą
-
Metoda instancyjna:
- Nie zawiera
static. - Wywołuje się ją na konkretnym obiekcie:
obiekt.Metoda().
- Nie zawiera
Przykład:
class MojaKlasa
{
public static void MetodaStatyczna()
{
Console.WriteLine("Metoda statyczna");
}
public void MetodaInstancyjna()
{
Console.WriteLine("Metoda instancyjna");
}
}
// Wywołania
MojaKlasa.MetodaStatyczna(); // wywołanie metody statycznej
MojaKlasa ob = new MojaKlasa();
ob.MetodaInstancyjna(); // wywołanie metody na obiekcie
Główna różnica polega na sposobie wywołania i obecności słowa kluczowego static.