Назад к вопросам
Junior
117
questionbank
Что такое виртуальный метод в C#?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Виртуальный метод — это метод базового класса, который может быть переопределен (реализован по-другому) в производном классе. Он объявляется с ключевым словом virtual.
public class Animal
{
// Объявление виртуального метода
public virtual void MakeSound()
{
Console.WriteLine("Generic animal sound");
}
}
public class Dog : Animal
{
// Переопределение виртуального метода
public override void MakeSound()
{
Console.WriteLine("Woof!");
}
}
public class Cat : Animal
{
// Переопределение виртуального метода
public override void MakeSound()
{
WriteLine("Meow!");
}
}
При вызове виртуального метода на экземпляре производного класса, даже если ссылка имеет тип базового класса, будет вызвана реализация из производного класса (полиморфизм).
Animal myAnimal = new Dog();
myAnimal.MakeSound(); // Выведет "Woof!"
Animal anotherAnimal = new Cat();
anotherAnimal.MakeSound(); // Выведет "Meow!"