面向对象-模板方法模式
2018-03-08 21:39
155 查看
需求:获取一段程序运行的时间。
原理:获取程序开始和结束时间并相减即可。
获取时间: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 i = 0; i < 5000; i++) {
System.err.println(i);
}
}
}
class code
{
public static void main(String[] args) {
Subtime g = new Subtime();
g.gettime();
}
}
原理:获取程序开始和结束时间并相减即可。
获取时间: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 i = 0; i < 5000; i++) {
System.err.println(i);
}
}
}
class code
{
public static void main(String[] args) {
Subtime g = new Subtime();
g.gettime();
}
}
相关文章推荐
- 50_面向对象_23_回调的实现_模板方法模式
- java学习之旅50--面向对象_23_回调的实现_模板方法模式
- 黑马程序员—Java面向对象(抽象类、模板方法设计模式、接口、多态、内部类)
- 面向对象-模板方法模式
- 黑马程序员------毕老师视频笔记第七天------面向对象(模板方法设计模式)
- java面向对象-模板方法设计模式
- java设计模式-模板方法
- Design Patterns in Android:模板方法模式
- 连接两个模板方法模式?
- 模板方法模式
- 设计模式之模板方法模式
- Dynamics AX 中的模板方法模式
- (转)ruby中的设计模式--模板方法
- 设计模式之模板方法模式
- 设计模式C++实现(5)——原型模式、模板方法模式
- JAVA模板方法设计模式(从现实生活角度理解代码原理)
- Java 设计模式--模板方法(Template Method)
- 模板方法模式实现探讨
- 设计模式之模板方法模式
- 设计模式C++实现(5)——原型模式、模板方法模式