我可以使用模板方法设计模式在子类中创建自己的方法吗



使用在抽象类之外创建的方法是否会干扰Template Method设计模式?如果我创建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() {}
}

模板方法设计模式是关于每个子类在骨架中定义特定步骤

其目的是通过将一些步骤推迟到子类来定义算法的框架,即允许子类以自己的方式定义算法的某些步骤,保持算法的结构不变。

步骤内部可以有一个或多个方法,如果这些方法只在子类中使用,它们可能是私有