模板方法设计模式:
解决的问题:当功能内部一部分实现时确定,一部分实现是不确定的。这时可以把不确定的部分暴露出去,让子类去实现。
abstract class GetTime{
public final void getTime(){ //如果此功能不需要覆盖,可以加final限定
long start=System.currentTimeMillis();
code();
long end=System.currentTimeMillis();
System.out.println("用时:"+(end-start));
}
public abstract void code();//抽象不确定的功能,让子类重写
}
class demo extends GetTime{
public void code(){ //实现父类抽象方法
for(int i=o;i<1000;i++){
System.out.println("i");
}
}
}