Sobes.tech
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.