我学习设计模式和代码示例我已经看到了约定,其中抽象类声明的方法,例如:抽象方法签名,继承和“做”的命名约定
public abstract class ServiceBase {
...
public virtual object GetSomething();
然后
protected abstract object DoGetSomething();
我的问题是,为什么存在这两种方法,因为他们似乎达到同样的目的。这是否使基类GetSomething()方法逻辑不能被继承类重写?但是再次,该方法被标记为虚拟的,因此无论如何它都可以被覆盖。这样在要求派生类实现者实现抽象方法的时候有什么用处呢?
GetSomething应该是虚拟的吗? – JaredPar
是的,它绝对是虚拟的。 –