定义:定义一个操作中的算法的框架,将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的特定步骤。
模板方法模式的通用代码:
public abstract class AbstractClass{ //基本方法 protected abstract void doSomething(); //基本方法 protected abstract void doAnything(); //模板方法 public void templateMethod(){ this.doAnything(); this.doSomething(); }}public class ConcreateClass1 extends AbstractClass{ //实现基本方法 protected void doAnything(){ } //实现基本方法 protected void doSomething(){ }}public class ConcreateClass2 extends AbstractClass{ //实现基本方法 protected void doAnything(){ } //实现基本方法 protected void doSomething(){ }}public class Client{ public static void main() { AbstractClass class1=new ConcreateClass1(); AbstractClass class2=new ConcreateClass2(); //调用模板方法 class1.templateMethod(); class2.templateMethod(); }}