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 извикването на метода щеше да бъде статично и нямаше да взема предвид реалния тип на обекта по време на изпълнение.