Junior
123
questionbank
Что такое виртуальный метод в C#?
Answer from AI
sobes.tech AI
Виртуальный метод — это метод базового класса, объявленный с ключевым словом virtual. Это позволяет производным классам переопределить его поведение.
Особенности:
- Объявляется в базовом классе с
virtual. - Переопределяется в производном классе с
override. - При вызове виртуального метода через ссылку на базовый класс, фактически выполняется версия метода из объекта, на который ссылается переменная (полиморфизм).
- Нельзя объявить виртуальными методы без тела (абстрактные), статические методы и конструкторы.
Пример:
// Базовый класс
public class Shape
{
// Виртуальный метод для рисования
public virtual void Draw()
{
// Реализация по умолчанию
Console.WriteLine("Рисуем общую форму");
}
}
// Производный класс
public class Circle : Shape
{
// Переопределение виртуального метода
public override void Draw()
{
// Реализация для круга
Console.WriteLine("Рисуем круг");
}
}
// Использование
public class Program
{
public static void Main(string[] args)
{
Shape shape = new Circle(); // Ссылка на базовый класс, объект производного
shape.Draw(); // Вызывается переопределенный метод Circle.Draw()
}
}