模板方法

模板方法

在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

类图

模板方法.png

代码示例

把大象装入冰箱模板方法示例:

public abstract class Process{
  abstract void openIceBox();
  abstract void loadElephant();
  abstract void closeIceBox();

  // 模板方法 
  public final void begin(){
    openIceBox();
    loadElephant();
    closeIceBox();
  }
}

具体的实现类:

public class ProcessChild extends Process{
    @Override
    void openIceBox(){
      System.out.println("please open ice box");
    }

    @Override
    void loadElephant(){
      System.out.println("load the elephant to ice box");
    }

    @Override
    void closeIceBox(){
      System.out.println("please close ice box.");
    }
}

执行类:

public class RunClassDemo{
  public static void main(String[] args){
    Process process = new ProcessChild();
    process.begin();
  }
}

你可能感兴趣的:(模板方法)