Junior — Middle
80
Объектіге бағытталған бағдарламалауда виртуалды әдіс деген не және ол кәдімгі әдістен қалай ерекшеленеді?
Сұралған компаниялар
pangames
AI-дан жауап
sobes.tech AI
Виртуальный метод в объектно-ориентированном программировании — это метод, который можно переопределить в производных классах для обеспечения полиморфизма. В отличие от обычного (не виртуального) метода, вызов виртуального метода определяется во время выполнения (динамический полиморфизм), а не во время компиляции.
Это позволяет использовать указатели или ссылки на базовый класс, но при вызове метода будет выполнена версия, соответствующая реальному типу объекта.
Пример на C#:
class Animal {
public virtual void Speak() {
Console.WriteLine("Animal speaks");
}
}
class Dog : Animal {
public override void Speak() {
Console.WriteLine("Dog barks");
}
}
Animal a = new Dog();
a.Speak(); // Выведет "Dog barks" благодаря виртуальному методу
Если бы метод Speak не был виртуальным, вызвался бы метод базового класса Animal, несмотря на то, что объект фактически типа Dog.