Sobes.tech
Junior

Čo je to virtuálna metóda v C#?

sobes.tech AI

Odpoveď od AI

Virtuálna metóda v C# je metóda deklarovaná kľúčovým slovom virtual v základnej triede, ktorú je možné prepísať v odvodených triedach pomocou kľúčového slova override. To umožňuje implementáciu polymorfizmu, keď volanie metódy závisí od skutočného typu objektu počas behu, a nie od typu premennej.

Príklad:

class Animal
{
    public virtual void Speak()
    {
        Console.WriteLine("Zviera vydáva zvuk");
    }
}

class Dog : Animal
{
    public override void Speak()
    {
        Console.WriteLine("Haf haf");
    }
}

Animal a = new Dog();
a.Speak(); // Vytlačí "Haf haf" vďaka virtuálnej metóde

Bez virtual a override by bolo volanie metódy statické a nezohľadňovalo by skutočný typ objektu počas behu.