看完毕老师讲的模板方法设计模式,我又按照自己的思维重新写了一小段,于是就变成了下面这个样子,完全木有想到要用抽象的说。。是不是我的思考方式有问题?设计方面的!
/*
这个类是描述模板设计模式的Demo
在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分
那么这时就将不确定的部分暴露出去,由该类的子类去完成。
*/
/*
需求:获取一段程序的运行时间
原理:获取程序开始的时间和结束的时间并相减即可
获取时间:System.currentTimeMillis();
分析:
获取程序开始的时间
一段未知程序
获取程序结束的时间
返回时间差
*/
class GetTime
{
public static final double getTime(Program p){
//在程序开始运行前获取程序开始时间(单位为毫秒)
double startTime = System.currentTimeMillis();
//想要运行的程序
p.runcode();
//在程序结束运行后获取程序开始时间(单位为毫秒)
double stopTime = System.currentTimeMillis();
return stopTime - startTime;
}
}
class Program
{
void runcode(){
for (int i = 0; i<3000;i++ )
{
System.out.print("*");
}
System.out.println();
}
}
class TemplateDemo
{
public static void main(String[] args)
{
Program p = new Program();
System.out.println(GetTime.getTime(p));
}
}
|
|