Sobes.tech
Back to questions
Junior
294

Что такое виртуальный метод в C#?

Answer from AI

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