Sobes.tech
Junior

Какво е виртуален метод в C#?

sobes.tech AI

Отговор от AI

Виртуалният метод в C# е метод, обявен с ключовата дума virtual в базовия клас, който може да бъде презаписан в наследяващите класове с помощта на ключовата дума override. Това позволява реализирането на полиморфизъм, при който извикването на метода зависи от реалния тип на обекта по време на изпълнение, а не от типа на променливата.

Пример:

class Animal
{
    public virtual void Speak()
    {
        Console.WriteLine("Животното издава звук");
    }
}

class Dog : Animal
{
    public override void Speak()
    {
        Console.WriteLine("Га-га");
    }
}

Animal a = new Dog();
a.Speak(); // Ще изведе "Га-га" благодарение на виртуалния метод

Без virtual и override извикването на метода щеше да бъде статично и нямаше да взема предвид реалния тип на обекта по време на изпълнение.