定义
模板方法模式在一个方法中定义一个算法的骨架,而将一些步骤的实现延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中某些步骤的具体实现。
比如试卷上的题目可以组合成一个模板,印成试卷,具体到每一题的作答答案可以交给学生进行作答。
实现代码
public abstract class AbstractClass {
public abstract void PrimitiveOperation1();
public abstract void PrimitiveOperation2();
public void TemplateMethod() {
PrimitiveOperation1();
PrimitiveOperation2();
}
}
public class ConcreteClassA extends AbstractClass {
@Override
public void PrimitiveOperation1() {
System.out.println("具体类A的操作1");
}
@Override
public void PrimitiveOperation2() {
System.out.println("具体类A的操作2");
}
}
class ConcreteClassB extends AbstractClass {
@Override
public void PrimitiveOperation1() {
System.out.println("具体类B的操作1");
}
@Override
public void PrimitiveOperation2() {
System.out.println("具体类B的操作2");
}
}
public class CilentTest {
public static void main(String[] args) {
AbstractClass c=new ConcreteClassA();
c.TemplateMethod();
AbstractClass c1=new ConcreteClassA();
c.TemplateMethod();
}
}