如何實現模板方法模式的變體,使具體類不會從基類繼承,但模式的整體特徵得到維護。它無法繼承的原因是它被迫從另一個類繼承,並且多重繼承不可用。無繼承的模板方法模式
例如,假設下面的Tempate Method模式:
public abstract class BaseClass {
public void Alpha() {
Beta();
}
public abstract void Beta();
public void Gamma() {
Delta();
}
public abstract void Delta();
}
public ConcreteClass : BaseClass {
public override void Beta() {
Gamma();
}
public override void Delta() {
Console.WriteLine("Delta");
}
}
...
var object = new ConcreteClass();
object.Alpha(); // will outout "Delta"
我怎麼能實現無具體類繼承BaseClass的同樣的結果?
如果這是C#,那麼你不能做'BaseClass的對象=新的具體類()'沒有具體類繼承的BaseClass。你現在究竟有什麼和你想要達到的目標? –
更改爲'var'。 –
仍然不清楚你有什麼課 –