Junior
Mi az a virtuális metódus C#-ban?
sobes.tech MI
Válasz az MI-től
A C#-ban a virtuális metódus egy olyan metódus, amelyet az alap osztályban a virtual kulcsszóval deklarálnak, és amely felülírható az örökölt osztályokban a override kulcsszó segítségével. Ez lehetővé teszi a polimorfizmus megvalósítását, amikor a metódus hívása az objektum valódi típusától függ futásidőben, nem pedig a változó típusától.
Példa:
class Animal
{
public virtual void Speak()
{
Console.WriteLine("Állat hangot ad ki");
}
}
class Dog : Animal
{
public override void Speak()
{
Console.WriteLine("Vau-vau");
}
}
Animal a = new Dog();
a.Speak(); // A virtuális metódusnak köszönhetően "Vau-vau" jelenik meg
Virtuális és felülíró nélkül a metódushívás statikus lenne, és nem venné figyelembe az objektum valódi típusát futásidőben.