比较正式的概念:
1)模板方法模式是基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一。
在模板方法模式中,可以将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。
2)在模板方法模式中,我们需要准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,
然后声明一些抽象方法来让子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑
有不同的实现,这就是模板方法模式的用意。模板方法模式体现了面向对象的诸多重要思想,是一种使用频率较高的模式。
*/
abstract class GetTime{
public final void getTime(String className){
long start = System.currentTimeMillis();
runCode();
long end = System.currentTimeMillis();
System.out.println(className+" run time is"+(end-start));
}
public abstract void runCode();
}
class SubTime extends GetTime{
public void runCode(){
for(int i=0;i<1000;i++){
// System.out.print(i);
}
}
}
class WhileTime extends GetTime{
public void runCode(){
int i=0;
while(i<=1000){
i++;
// System.out.print(i);
}
}
}
public class Template{
public static void main(String []args){
SubTime st = new SubTime();
st.getTime("st");
WhileTime wt = new WhileTime();
st.getTime("wt");
}
}