Я учусь о шаблонах проектирования и примеры кода, который я видел соглашение, где абстрактный класс объявляет метод, например:абстрактный метод подписи, наследование и «Do» именовании
public abstract class ServiceBase {
...
public virtual object GetSomething();
, а затем
protected abstract object DoGetSomething();
Мой вопрос о том, почему существуют эти два метода, так как они появляются, чтобы служить той же цели. Это значит, что базовый класс метода GetSomething() не может быть переопределен унаследованными классами? Но опять же, метод отмечен как виртуальный, поэтому он может быть переопределен в любом случае. В чем польза здесь, когда требуется, чтобы разработчики производного класса реализовали абстрактный метод, когда виртуальный метод может быть вызван в любом случае?
Предполагается, что GetSomething является виртуальным? – JaredPar
Да, это определенно виртуально. –