1. 模版方法设计模式:在父类的一个方法中定义一个总体算法骨架(算法模板),而将一些步骤延迟到子类中,因为不同的子类实现细节不同,模板方法可以使得子类不改变算法结构的情况下,重新定义算法中的某些步骤。
抽象父类至少提供的方法
模板方法:一种通用的处理方式,即模板
抽象方法:一种具体的业务实现,有子类完成
注意:抽象父类提供的模板方法只是定义了一个通用算法,其实现必须依赖子类的辅助
package HelloWorld;
abstract class AbstractOperteTemplate{
public final long getTotaTime() {
long begin=System.currentTimeMillis(); // 开始时间
ooxx();
long end=System.currentTimeMillis();// 结束时间
long time=end-begin; //时间差
return time;
}
protected abstract void ooxx();
}
class StringOperate extends AbstractOperteTemplate{
@Override
protected void ooxx() {
String str="";
for(int i=0;i<1000;i++) {
str +=i;
}
}
}
class IntOperate extends AbstractOperteTemplate{
@Override
protected void ooxx() {
int sum=0;
for(int i=0;i<1000000;i++) {
sum +=i;
}
}
}
public class TemplateMethodDemo {
public static void main(String[] args) {
System.out.println(new IntOperate().getTotaTime());
System.out.println(new StringOperate().getTotaTime());
}
}