Junior — Middle
Jak odlišit statickou metodu od metody, která je volána na konkrétním objektu třídy?
sobes.tech AI
Odpověď od AI
V jazyce C# je statická metoda definována klíčovým slovem static a volá se na samotné třídě, nikoliv na instanci objektu.
Rozdíly:
-
Statická metoda:
- Je deklarována s
static. - Nem má přístup k nestatickým polím a metodám třídy.
- Volá se přes název třídy:
NázevTřídy.Metoda().
- Je deklarována s
-
Metoda instance:
- Neobsahuje
static. - Volá se na konkrétním objektu:
objekt.Metoda().
- Neobsahuje
Příklad:
class MojeTřída
{
public static void StatickáMetoda()
{
Console.WriteLine("Statická metoda");
}
public void MetodaInstance()
{
Console.WriteLine("Metoda instance");
}
}
// Volání
MojeTřída.StatickáMetoda(); // volání statické metody
MojeTřída obj = new MojeTřída();
obj.MetodaInstance(); // volání metody na objektu
Hlavní rozdíl je tedy ve způsobu volání a v přítomnosti klíčového slova static.