Разница между абстрактным и виртуальным методом в объектно-ориентированном программировании заключается в следующем:
- Абстрактный метод не имеет реализации и может быть объявлен только в теле абстрактного класса. forum.itvdn.com Классы, производные от этого абстрактного класса, должны предоставлять реализацию для этого абстрактного метода. stackoverflow.com
- Виртуальный метод имеет реализацию и может быть переопределён в классах-наследниках. stackoverflow.com ru.ruwiki.ru Конкретная реализация метода для вызова определяется во время исполнения. ru.ruwiki.ru Программисту необязательно знать точный тип объекта для работы с ним через виртуальные методы: достаточно лишь знать, что объект принадлежит классу или наследнику класса, в котором объявлен метод. ru.ruwiki.ru
Таким образом, абстрактные методы используются для описания методов, которые должны иметь все производные классы, а виртуальные методы предоставляют возможность переопределить метод в производном классе (изменить поведение объекта). forum.itvdn.com