【设计模式】## 2、模板模式##

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++;
        }

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值