Разница между модификаторами virtual и abstract при наследовании в C# заключается в следующем:
- Виртуальный метод (virtual) — это метод, который может быть переопределён в производных классах. newobj.ru Он предоставляет реализацию по умолчанию и может существовать как в абстрактном, так и в неабстрактном классе. stackoverflow.com
- Абстрактный метод (abstract) не имеет реализации и может быть объявлен только в теле абстрактного класса. stackoverflow.com forum.itvdn.com Он требует от производных классов его реализации (переопределения). forum.itvdn.com
Таким образом, виртуальные методы предоставляют возможность переопределить метод в производном классе, а абстрактные методы используются для описания методов, которые должны иметь все производные классы. forum.itvdn.com