使用在抽象类之外创建的方法是否会干扰模板方法设计模式?如果我创建myownmethod并在方法中调用它,它仍然是模板方法模式吗?
public abstract class TemplateMethodClass {
public final void TemplateMethod() {
a();
b();
c();
}
protected abstract void a();
protected abstract void b();
protected abstract void c();
}
public class SubClass extends TemplateMethodClass {
public void MyOwnMethod() {
System.out.println("I am not from template");
}
@Override
protected void a() {
MyOwnMethod();
}
@Override
protected void b() {}
@Override
protected void c() {}
}
1条答案
按热度按时间f2uvfpb91#
模板方法设计模式是关于每个子类定义 backbone 中的特定步骤
其目的是通过将某些步骤推迟到子类来定义算法的框架,即允许子类以自己的方式定义算法的某些步骤,保持算法的结构完整。
步骤中可以有一个或多个方法,如果这些方法只在子类中使用,它们可能是私有的