---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

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

这时一种很简单的设计模式,一个例子说明

/*
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间相减即可获取时间:public static long currentTimeMillis();
System.currentTimeMillis();
*/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 SubTime extends GetTime
{//实现算法的不确定部分public void runCode(){for (int x = 0; x<1000 ; x++ ){System.out.println(x);}}
}class Demo
{public static void main (String [] args){SubTime runTime = new SubTime();runTime.getTime();}
}

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

黑马程序员------毕老师视频笔记第七天------面向对象(模板方法设计模式)相关推荐

  1. 黑马程序员------毕老师视频笔记第七天------面向对象(抽象类)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 当多个类中出现了相同的功能,但是功能主体不同, ...

  2. 黑马程序员------毕老师视频笔记第五天------面向对象(封装)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 封装:是指隐藏对象的属性和实现细节,仅对外提供 ...

  3. 黑马程序员------毕老师视频笔记第22天------图形化编程(2)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 鼠标事件.键盘事件 这两个事件应该是所有组件都 ...

  4. 黑马程序员------毕老师视频笔记第23-24天------网络编程(1)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一概述 java对网络编程的支持很强.网络通信 ...

  5. 黑马程序员------毕老师视频笔记第十二天------多线程(3)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- (回顾) 多线程导致安全问题的原因: l  多 ...

  6. 黑马程序员------毕老师视频笔记第13-17天------集合Collection-Set-(HashSet、TreeSet)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- Collection中除了List之外还有一个 ...

  7. 黑马程序员------毕老师视频笔记第18-21天------IO输入与输出(2)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 本篇包含几个示例,分别说明字符流(Buffer ...

  8. 黑马程序员------毕老师视频笔记第六天------面向对象(对象初始化过程)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- Person p = new Person(& ...

  9. 黑马程序员------毕老师视频笔记第22天-----图形化编程(GUI)(1)

    ---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 用户与计算机交互有两种方式:命令行,图形化界面 ...

最新文章

  1. 如何编码和解码base64字符串?
  2. Python数据格式:%s字符串,%d整型,%f浮点型
  3. boost::ReadablePropertyMapConcept用法的测试程序
  4. gradle 插件 自定义_Gradle自定义插件
  5. window 平台上面解决不能动态php_mysqli.dll
  6. Java排序算法之希尔(Shell)排序
  7. 怎样从Mysql官网下载linux版本的mysql安装包
  8. mysql在安全模式下备份_win10安全模式下怎么备份数据?
  9. 修改Myecclipse servlet/jsp的默认模板
  10. 手把手指导安装微PE WePE 系统到U盘
  11. 计算机组装与维护公开课,(最新整理)计算机组装与维护公开课教案
  12. (简单控制) 关于使用NI max 的GPIB来控制安捷伦万用表34401A 的操作方法
  13. 计算机二进制技巧,计算机中十进制转二进制的相关技巧
  14. 三大条件致病菌|大肠埃希氏菌、血链球菌、李斯特菌
  15. Linux网络流量监控工具
  16. 基于MPlayer的QT媒体播放器
  17. 游戏渲染建模常用到的相关名词 AlvinCR个人理解-(烘焙、法线、LOD、UV坐标、各向异性)
  18. java从邮箱获取邮件_javaMail正确读取邮箱内容的方式
  19. VB程序设计教程(第四版)龚沛曾 实验8-2
  20. 01 KVM虚拟化简介

热门文章

  1. Win10与Ubuntu双系统下安装tensorflow2.0全流程备忘录
  2. 顺序容器(C++ Primer 5th)
  3. 聚类与分类的主要区别在于:_经验在于细节:分析流服务的用户体验
  4. HTML在线文本编辑器实现原理
  5. python删除excel符合条件的行_OpenPyXL如何根据某些条件从Excel文件中删除行?
  6. css3实现缺角四边形_用CSS制作Bubble缺角提示框代码
  7. libsvm rfe_IBM增强请求(RFE)允许IBM i客户影响未来的发展
  8. 智慧社区有多“智慧”?解读智能化背后的技术应用
  9. AWS EC2上托管网站用cloudfront分配使用证书https
  10. 怎么开启华为手机隐藏功能