——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
/*
模板方法
需求:获取一段程序的运行时间
原理:获取程序 起始 结束 时间 并相减(java有对应方法)
获取时间:System.currentTimeMillis();
当代码优化之后,就可以解决这类问题。
这种方式:模板方法设计模式:在定义功能的时候,功能的一部分是确定的,但有一部分是不确定的,确定的部分在使用不确定的部分,
那么这个时候就将不确定的部分暴露出去,有该类的子类去完成(仅仅声明下功能,抽象他,强制子类复写这部分)
*/
abstract class GetTime
{
public final void getTime()//获取时间的功能 是【固定】的不可被子类复写,用final修饰【强制】下
{
long start =System.currentTimeMillis();
runcode();//封装它
/*
for (int x=0;x<1000 ;x++ )//不确定的部分,可以暴露出去
{
System.out.print(x);
}
*/
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.print(x);
}
}
}
class TemplateDemo
{
public static void main(String[] args)
{
SubTime gt = new SubTime();
gt.getTime();
}
}
——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-