Sobes.tech
Junior — Middle

Ako rozlíšiť statickú metódu od metódy, ktorá sa volá na konkrétnom objekte triedy?

sobes.tech AI

Odpoveď od AI

V jazyku C# je statická metóda definovaná kľúčovým slovom static a volá sa na samotnej triede, nie na inštancii objektu.

Rozdiely:

  • Statická metóda:

    • Je deklarovaná s static.
    • Nemá prístup k nestatickým poliam a metódam triedy.
    • Volá sa cez názov triedy: NázovTriedy.Metóda().
  • Inštančná metóda:

    • Neobsahuje static.
    • Volá sa na konkrétnom objekte: objekt.Metóda().

Príklad:

class MojaTrieda
{
    public static void StatickaMetoda()
    {
        Console.WriteLine("Statická metóda");
    }

    public void InstandcaMetoda()
    {
        Console.WriteLine("Inštančná metóda");
    }
}

// Volania
MojaTrieda.StatickaMetoda(); // volanie statickej metódy

MojaTrieda obj = new MojaTrieda();
obj.InstandcaMetoda(); // volanie na objekte

Hlavný rozdiel je teda v spôsobe volania a v prítomnosti kľúčového slova static.