文章目录
![image](https://i-blog.csdnimg.cn/blog_migrate/b2e897a01d94168175e85156ba30f375.png)
- 模板方法模式:在父类的一个方法中定义一个总体的骨架(模板方法),而将某一些步骤延迟
到子类中因为不同、的子类实现细节不同,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法的某些
步骤。 - 抽象父类负责定义操作中的业务骨架,而把某些具体实现步骤延迟到子类中去实现。
- 抽象父类至少提供的方法:
- 模板方法:一种通用的处理方法,即模板;
- 抽象方法:一种具体的业务功能实现,由子类完成;
注意:抽象父类提供的模板方法只是定义了一个通用算法,其实现必须依赖子类的辅助,
模板方法作为模板样式不准子类覆盖。
新建TemplateDesignDemo.java
abstract class TemplateDesign
{
final public long count(){
long begin = System.currentTimeMillis();
this.operation();
long end = System.currentTimeMillis();
return end - begin;
}
abstract protected void operation();
}
//字符串操作
class StringOperation extends TemplateDesign
{
protected void operation(){
String s = "";
for (int i = 0;i < 10000;i ++ )
{
s += i;
}
}
}
//int操作
class IntOperation extends TemplateDesign
{
protected void operation(){
int count = 0;
for (int i = 0;i <1000000 ;i ++ )
{
count += i;
}
}
}
class TemplateDesignDemo
{
public static void main(String[] args)
{
System.out.println(new StringOperation().count());
System.out.println(new IntOperation().count());
}
}