设计模式之模板方法设计模式
在定义功能时,功能的一部分确定,一部分不确定,而确定部分在使用不确定部分,就把不确定的功能暴露出去,由该类的子类去完成。
/*
需求:获取一段程序运行的时间
由于这段程序是未知的不确定内容,所以抽象成一个方法由各个子类去实现。
*/
abstract class GetTime {
public final void getTime(){
long start = System.currentTimeMillis();
runcode();
long end = System.currentTimeMillis();
System.out.println(end-start + "ms") ;
}
public abstract void runcode();
}
class TestGetTimeextends GetTime{
public static void main(String[] args) {
new TestGetTime().getTime();
}
public void runcode(){
int count = 0;
for(int i = 0 ; i < 1000 ; i ++) {
if(i % 3 == 0) {
System.out.print(i+ "\t") ;
count ++;
}
}
System.out.println("\n总共有"+ count + "个");
}
}