/*
摸板模式:解决某类事情的步骤有些是固定的,有些是变化的,我们可以为这类事情提供一个模板代码从而
提高效率。
例子:
需求:编写一个计算程序运行时间的模板。
模板模式的步骤:
1:先写出解决该类事情其中一种的解决方案
2:分析代码,把会发生变化的代码抽取独立出来,描述成一个抽象方法
3:使用final关键字修饰固定方法,防止别人重写你的模板方法。
*/
public class TemplateMethod extends Templete{
public static void main(String[] args) {
// TODO Auto-generated method stub
TemplateMethod templateMethod=new TemplateMethod();
templateMethod.getTime();
}
public void code() {
// TODO Auto-generated method stub
int i=0;
while(i<100){
System.out.println("i="+i);
i++;
}
}
}
abstract class Templete{
public final void getTime(){
Long startTime=System.currentTimeMillis();
code();
Long endTime=System.currentTimeMillis();
System.out.println("程序运行所用时间:"+(endTime-startTime));
}
public abstract void code();
}