模板方法模式

父类的模板
public abstract class AbstractClass {
public abstract void PrimitiveOperation_1();
public abstract void PrimitiveOperation_2();
public void templateMethod() {
System.out.println("父类的模板方法");
PrimitiveOperation_1();
PrimitiveOperation_2();
}
}
具体的子类去实现父类抽象的方法
public class ConcreteClassA extends AbstractClass {
@Override
public void PrimitiveOperation_1() {
System.out.println("具体类A: 方法 1 的实现");
}
@Override
public void PrimitiveOperation_2() {
System.out.println("具体类A: 方法 2 的实现");
}
}
public class ConcreteClassB extends AbstractClass {
@Override
public void PrimitiveOperation_1() {
System.out.println("具体类B: 方法 1 的实现");
}
@Override
public void PrimitiveOperation_2() {
System.out.println("具体类B: 方法 2 的实现");
}
}
测试类
public class Main {
public static void main(String[] args) {
AbstractClass abstractClass;
abstractClass = new ConcreteClassA();
abstractClass.templateMethod();
abstractClass = new ConcreteClassB();
abstractClass.templateMethod();
}
}