如何实现模板方法模式的变体,使具体类不会从基类继承,但模式的整体特征得到维护。它无法继承的原因是它被迫从另一个类继承,并且多重继承不可用。无继承的模板方法模式
例如,假设下面的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'。 –
仍然不清楚你有什么课 –