1.介绍:
在模板方法模式中,一个算法可以分多个步骤,这些步骤的执行顺序是在另外一个方法中的,这个方法被称为模板方法。同时,每个步骤也对应一个方法,这些方法被称为基本方法。模板方法会按照它定义的顺序一次调用多个基本方法。在这个过程中,会将模板方法的实现和哪些固定不变的基本方法的实现放在父类中,而那些不固定的基本方法放在子类中。
2.代码实现
创建一个抽象父类AbstractClass:
public abstract class AbstractClass { // 模板方法 public void template(){ operation1();
operation2();
operation3(); }
// 不固定的基本方法 public abstract void operation1(); // 固定不变的基本方法 public void operation2(){ system.out.println("AbstractClass:operation2"); };
// 不固定的基本方法 public abstract void operation3(); }
创建子类ConcreteClass1和ConcreteClass2:
public class ConcreteClass1 extends AbstractClass { @Override public void operation1() { System.out.println("ConcreteClass1:operation1"); } @Override public void operation3() { System.out.println("ConcreteClass1:operation3"); } }
public class ConcreteClass2 extends AbstractClass { @Override public void operation1() { System.out.println("ConcreteClass2:operation1"); } @Override public void operation3() { System.out.println("ConcreteClass2:operation3"); } }
这就是模板方法模式,比较简单。