Sobes.tech
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().
  • Metoda instance:

    • Neobsahuje static.
    • Volá se na konkrétním objektu: objekt.Metoda().

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.