模板模式是设计模式的一种。

模板模式的核心有两点:

1.抽象父类。抽象父类即为模板。抽象父类一般为抽象类。

2.具体子类。具体子类集成抽象父类,重新业务方法。

抽象父类中有四种方法:

1.业务方法,业务方法一般为抽象方法,子类必须实现该抽象类。

2.空方法,子类可重写,也可不重写。

3.final方法,子类不可重新。

4.模板方法。模板方法将上述三类方法根据业务逻辑进行组合。

具体子类对业务方法进行重写,空方法根据需要决定是否重写。通过实例化具体子类,应用模板模式。

练习题:

自定义一个程序,计算该程序的运营时间。

//抽象模板

abstract class AbsTemplate{

//业务方法

public abstract void do();

public void out(){

System.out.println("程序开始了");

}

public final long calTime(){

long a=System.currentTimeMillis();

return a;

}

public long templateMethod(){

out();

long startTime=currentTimeMililis();

do();

long endTime=currentTimeMililis();

long b=endTime-startTime;

return b;

}

//具体子类

class sonClass extends AbsTemplate{

public  void do(){

for(int i=0;i<100;i++){

System.out.println("程序实现"+i+"%");

}

}