模板设计模式:
就是定义一个算法的骨架,而具体的算法延迟到子类中来实现。
优点:
使用模板方法模式,在定义算法骨架的同时,可以灵活的实现具体的算法,满足用户灵活多变的需求
缺点:
如果算法骨架要修改的话,则需要修改抽象类。
实例: 计算一个程序的运行时间。
public class test6 {
public static void main(String[] args) {
Demo de = new Demo();
long result = de.getTime();
System.out.println(result+" 毫秒");
}
}
/**
* 获取程序运行时间(抽象类,具体要运行的程序让子类来实现,父类只提供接口)
*/
abstract class GetTime{
//获取时间差
public final long getTime() {
long start = System.currentTimeMillis();
code();
long end = System.currentTimeMillis();
return end - start;
}
// 需要运行的程序,让子类来具体实现。
public abstract void code();
}
/**
* 继承抽象类,实现其中的方法。(实现具体 要运行的程序)
*/
class Demo extends GetTime {
@Override
public void code() {
for (int i = 0; i < 1000000; i++) {
System.out.println("123");
}
}
}