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.