zoukankan      html  css  js  c++  java
  • day03模板方法设计模式

    /*
    模板方法设计模式
    例子:
    需求:获取一段程序的运行的时间
    原理:获取一段程序的开始时间和结束时间并相减
    获取时间的方法:System.currentTimeMillis();

    但代码优化后,就发现有一部分的方法不愿意复写的话就final它
    还有一部分不确定就把它抽象abstract让子类去复写
    但要是不确定的部分也有主体的话就不能用abstract 也要让子类去复写;

    这种方式就叫做模板方法设计模式
    定义:在定义功能时,功能的一部分确定,但是一部分不确定,而确定的部分在使用不确定的部分,那么这时就将不确定的部分暴露出去,由该类的子类去完成。

    */
    abstract class GetTime
    {
    public final void getTime()//不允许子类去复写这个方法
    {
    long start = System.currentTimeMillis();
    runcode();//调用该方法
    long end = System.currentTimeMillis();
    System.out.println("毫秒数="+(end-start));
    }
    public abstract void runcode();//抽象这个方法,让子类去复写它
    }
    class RunCode extends GetTime //如果运行的时间不同
    { public void runcode()//复写这个方法
    {for (int x=0;x<1000 ;x++ )//让程序运行的时间
    {
    System.out.print(x);
    }
    }
    }
    class TemplateDemo
    {
    public static void main(String [] args)
    {
    new RunCode().getTime();//让子类去调用父类中的方法但自己去复写程序运行的时间
    }
    }

  • 相关阅读:
    2012 人民搜索 实习生招聘 笔试题(转)
    招行两地一卡——PayPal美元兑换人民币的最佳解决方案
    PHP上传图片类
    PHP获取随机数
    Linux下解压RAR软件下载和解压.zip和.rar文件
    Zend Framework学习(1)简介
    编程指导
    Zend Framework数据库操作总结
    Zend Framework学习(4)之前端控制器
    参数是否为FALSE的区别
  • 原文地址:https://www.cnblogs.com/secretmonster/p/8686591.html
Copyright © 2011-2022 走看看