模板方法设计模式:
模版方法概要:在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分;那么这时就将不确定的部分暴露出去,由该类的子类去完成。
通过一个简单的实例来说明解决一类问题的思想 如下:
需求:获取一段程序运行的时间
原理:获取程序开始和结束的时间并相减即可
asbtract class GetTime
{
public final void getTime()
{
long stsrt=System.currentTimeMillis();
runcode(); //不确定的部分
long end=System.currentTimeMillis();
System.out.println("毫秒"+(end-start));
}
public asbtract void runcode(); //将不确定的部分暴露出去
}
class SubTime extends GetTime
{
public void runcode() //不确定的部分在子类中的实现
{
for(int i=0;i<500;i++)
{System.out.print(i);}
}
}
class Template
{
public static void main(String[] args)
{
GetTime gt=new GetTime();
gt.getTime();
}
} |