博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之模板模式
阅读量:6072 次
发布时间:2019-06-20

本文共 2120 字,大约阅读时间需要 7 分钟。

hot3.png

package com.javaxxz.test;public class Template {    /*    模板模式:解决某类事情的步骤有些是固定的,有些是会发生变化的,            那么这时候我们可以为这类事情提供一个模板代码,从而提高效率。    需求:编写一个计算程序运行时间的模板    模板模式的步骤:	1、先写出解决该类事情其中的一件的解决方案     */    public static void main(String[] args) {        MyRuntime myRuntime = new MyRuntime();        myRuntime.getTime();    }}class MyRuntime {    public void getTime(){        long startTime = System.currentTimeMillis();        for (int i = 0; i < 100; i++) {            System.out.println("i =" + i);        }        long endTime = System.currentTimeMillis();        System.out.println("运行时间 : " + (endTime - startTime));    }}

-------------------------------------------------------------------------------------------------------------

abstract class MyRuntime {    public void getTime(){        long startTime = System.currentTimeMillis();        // 2、分析代码,把会发生变化的代码抽取出来独立成一个方法。把该方法描述成一个抽象的方法。        code();        long endTime = System.currentTimeMillis();        System.out.println("运行时间 : " + (endTime - startTime));    }    public abstract void code();    }}

------------------------------------------------------------------------------------------------------------

package com.javaxxz.test;public class Template extends MyRuntime{    /*    模板模式:解决某类事情的步骤有些是固定的,有些是会发生变化的,            那么这时候我们可以为这类事情提供一个模板代码,从而提高效率。    需求:编写一个计算程序运行时间的模板    模板模式的步骤:	1、先写出解决该类事情其中的一件的解决方案	2、分析代码,把会发生变化的代码抽取出来独立成一个方法。把该方法描述成一个抽象的方法。	3、使用final修饰模板方法,防止别人重写你的模板方法。     */    public static void main(String[] args) {        Template template = new Template();        template.getTime();    }    @Override    public void code() {        for (int i = 0; i < 100; i++) {            System.out.println("i =" + i);        }    }}abstract class MyRuntime {    // 3、使用final修饰模板方法,防止别人重写你的模板方法。    public final void getTime(){        long startTime = System.currentTimeMillis();        // 2、分析代码,把会发生变化的代码抽取出来独立成一个方法。把该方法描述成一个抽象的方法。        code();        long endTime = System.currentTimeMillis();        System.out.println("运行时间 : " + (endTime - startTime));    }    public abstract void code();}

 

转载于:https://my.oschina.net/zhui666/blog/1796491

你可能感兴趣的文章
canvas绘制字体-属性设置1
查看>>
Linux多线程3-5_线程清理操作
查看>>
推箱子游戏
查看>>
vsphere vmware 装系统
查看>>
考试总结
查看>>
C++文件读写
查看>>
Thinkphp3.2.2多语言包实现
查看>>
linux shell脚本编程笔记(四): 获取字符串长度的七种方法
查看>>
关于showmodaldialog的问题处理
查看>>
联想转型AI的独特之路
查看>>
Spring-依赖注入-构造函数注入方式
查看>>
CentOS7安装GitLab、汉化、邮箱配置及使用
查看>>
实现tap的多种方式
查看>>
bootstrap9-网格系统实例:中型和大型设备
查看>>
Android - toolbar navigation 样式
查看>>
谈谈HtmlControl与WebControl的区别与用途
查看>>
pyhon 函数2
查看>>
Integer类型数据比较大小问题:(Integer定义的是对象,养成使用equals方法的好习惯)...
查看>>
不同系统里同一Customizing activity的显示差异分析
查看>>
WSFC SQL应用磁盘阵列替换
查看>>