一.什么是模板模式
在父类中定义处理流程的框架,在子类中实现具体的处理的模式.
二.示例类
AbstractDisplay : 只实现display方法的抽象类
CharDisplay : 实现了open,print,close具体方法的类
StringDisplay : 实现了open,print,close具体方法的类
Main : 测试程序行为的类
三.分析
1.首先先看AbstractDisplay,他是一个模板,假如他想要打开文件,调用输出五次,再关闭.
public abstract class AbstractDisplay{
//定义要调用的抽象类
public abstract void open();
public abstract void print();
public abstract void close();
//定义模板过程
public final void display(){ //需要用final,不被子类继承,也不允许任何从此类继承的类来覆写这个方法
open();
for(int = i; i < 5 ; i++){
print();
}
close();
}
}
2.CharDisplay,StringDisplay只要继承extends父类AbstractDisplay,实现了open,print,close具体方法的类.
3.Main程序,父类定义,子类构造,最后调用父类的模板函数
AbstractDisplay *d1 = New CharDisplay();
AbstractDisplay *d2 = New StringDisplay();
d1.display();//调用模板函数
d2.display();//调用模板函数
//因为子类具体实现方法不同,模板函数实现也不同.