2、模板模式
模板模式 :解决某类事情的步骤有些是固定的,有些是会发生变化的,那么这时候我们可以为这类事情提供一个模板代码,从而提高效率 。
所以思想是:
①将模板的部分代码修饰成public final,防止别人修改你的模板,又可以使用你的模板。
②将会发生变化的部分抽取出来,形成一个方法,并修饰成abstract,让别人去重写。
③ 将这个模板形成一个类, 别人要调用模板的时候就自己创建一个类继承这个模板类,重写需要改变的方法即可。然后创建这个类的对象调用相应的模板方法就可以执行模板了
abstract class MyRuntime{
public final void getTime(){
long startTime = System.currentTimeMillis(); //记录开始的时间
code(); //模板中调用可能发生变化的方法
long endTime = System.currentTimeMillis(); //记录结束的时间.
System.out.println("运行时间 :"+ (endTime-startTime));
}
public abstract void code(); //方法抽象出来
}
class Demo11 extends MyRuntime
{
public static void main(String[] args)
{
Demo11 d = new Demo11();
d.getTime();
}
//code方法内部就写要计算运行时间 的代码;
public void code(){
int i = 0;
while(i<100){
System.out.println("i="+i);
i++;
}
}
}