Вопросы к Поиску с Алисой
Разница между виртуальными и абстрактными методами при наследовании в C# заключается в том, что виртуальные методы имеют реализацию, а абстрактные — нет. stackoverflow.com bool.dev
Виртуальные методы могут содержать код, который обычно представляет собой реализацию по умолчанию. stackoverflow.com Производные классы могут переопределить такой метод с помощью своей собственной реализации. learn.microsoft.com stackoverflow.com Виртуальные методы наследуются, то есть переопределять их в производном классе требуется только при необходимости задать отличающиеся действия. intuit.ru
Абстрактные методы не предоставляют реализацию. stackoverflow.com Они только описывают метод, который должен быть реализован в производных классах. bool.dev Если базовый класс объявляет метод как абстрактный, то он должен быть переопределён в любом неабстрактном классе, который прямо наследует от этого класса. learn.microsoft.com Если производный класс сам является абстрактным, то он наследует абстрактные члены, не реализуя их. learn.microsoft.com
Таким образом, с виртуальными методами класс-наследник наследует реализацию, а с абстрактными методами — интерфейс, представленный этими абстрактными методами. metanit.com