我學習設計模式和代碼示例我已經看到了約定,其中抽象類聲明的方法,例如:抽象方法簽名,繼承和「做」的命名約定
public abstract class ServiceBase {
...
public virtual object GetSomething();
然後
protected abstract object DoGetSomething();
我的問題是,爲什麼存在這兩種方法,因爲他們似乎達到同樣的目的。這是否使基類GetSomething()方法邏輯不能被繼承類重寫?但是再次,該方法被標記爲虛擬的,因此無論如何它都可以被覆蓋。這樣在要求派生類實現者實現抽象方法的時候有什麼用處呢?
GetSomething應該是虛擬的嗎? – JaredPar
是的,它絕對是虛擬的。 –