黑马程序员------毕老师视频笔记第七天------面向对象(模板方法设计模式)
---------------------- 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培训、期待与您交流! ----------------------
黑马程序员------毕老师视频笔记第七天------面向对象(模板方法设计模式)相关推荐
- 黑马程序员------毕老师视频笔记第七天------面向对象(抽象类)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 当多个类中出现了相同的功能,但是功能主体不同, ...
- 黑马程序员------毕老师视频笔记第五天------面向对象(封装)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 封装:是指隐藏对象的属性和实现细节,仅对外提供 ...
- 黑马程序员------毕老师视频笔记第22天------图形化编程(2)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 鼠标事件.键盘事件 这两个事件应该是所有组件都 ...
- 黑马程序员------毕老师视频笔记第23-24天------网络编程(1)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 一概述 java对网络编程的支持很强.网络通信 ...
- 黑马程序员------毕老师视频笔记第十二天------多线程(3)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- (回顾) 多线程导致安全问题的原因: l 多 ...
- 黑马程序员------毕老师视频笔记第13-17天------集合Collection-Set-(HashSet、TreeSet)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- Collection中除了List之外还有一个 ...
- 黑马程序员------毕老师视频笔记第18-21天------IO输入与输出(2)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 本篇包含几个示例,分别说明字符流(Buffer ...
- 黑马程序员------毕老师视频笔记第六天------面向对象(对象初始化过程)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- Person p = new Person(& ...
- 黑马程序员------毕老师视频笔记第22天-----图形化编程(GUI)(1)
---------------------- ASP.Net+Unity开发..Net培训.期待与您交流! ---------------------- 用户与计算机交互有两种方式:命令行,图形化界面 ...
最新文章
- 如何编码和解码base64字符串?
- Python数据格式:%s字符串,%d整型,%f浮点型
- boost::ReadablePropertyMapConcept用法的测试程序
- gradle 插件 自定义_Gradle自定义插件
- window 平台上面解决不能动态php_mysqli.dll
- Java排序算法之希尔(Shell)排序
- 怎样从Mysql官网下载linux版本的mysql安装包
- mysql在安全模式下备份_win10安全模式下怎么备份数据?
- 修改Myecclipse servlet/jsp的默认模板
- 手把手指导安装微PE WePE 系统到U盘
- 计算机组装与维护公开课,(最新整理)计算机组装与维护公开课教案
- (简单控制) 关于使用NI max 的GPIB来控制安捷伦万用表34401A 的操作方法
- 计算机二进制技巧,计算机中十进制转二进制的相关技巧
- 三大条件致病菌|大肠埃希氏菌、血链球菌、李斯特菌
- Linux网络流量监控工具
- 基于MPlayer的QT媒体播放器
- 游戏渲染建模常用到的相关名词 AlvinCR个人理解-(烘焙、法线、LOD、UV坐标、各向异性)
- java从邮箱获取邮件_javaMail正确读取邮箱内容的方式
- VB程序设计教程(第四版)龚沛曾 实验8-2
- 01 KVM虚拟化简介
热门文章
- Win10与Ubuntu双系统下安装tensorflow2.0全流程备忘录
- 顺序容器(C++ Primer 5th)
- 聚类与分类的主要区别在于:_经验在于细节:分析流服务的用户体验
- HTML在线文本编辑器实现原理
- python删除excel符合条件的行_OpenPyXL如何根据某些条件从Excel文件中删除行?
- css3实现缺角四边形_用CSS制作Bubble缺角提示框代码
- libsvm rfe_IBM增强请求(RFE)允许IBM i客户影响未来的发展
- 智慧社区有多“智慧”?解读智能化背后的技术应用
- AWS EC2上托管网站用cloudfront分配使用证书https
- 怎么开启华为手机隐藏功能