模板方法设计模式,刚开始一眼看去像是建造者模式,但是有本质的区别,建造者设计模式只是用来创建不同对象,执行对象中相同的方法的,但是方法实现的细节不同。
但是模板方法设计模式不同,它是行为模式之一,它把具有特定步骤算法中的某些必要的处理让给了抽象方法,通过子类继承抽象方法的不同实现改变整个算法的行为。
//--------------造车的抽象类-----------------------------
* 组装车
*/
public abstract class MakeCar {
//组装车头
public abstract void makeHead();
//组装车身
public abstract void makeBody();
//组装车尾
public abstract void makeTail();
public final void make() {
this.makeHead();
this.makeBody();
this.makeTail();
}
}
//---------------具体造那种车的子类-----------------------------
public class MakeBus extends MakeCar {
public void makeBody() {
System.out.println("bus:组装车身");
}
public void makeHead() {
System.out.println("bus:组装车头");
}
public void makeTail() {
System.out.println("bus:组装车尾");
}
}
//---------------测试类----------------------
public class MainClass {
public static void main(String[] args) {
MakeCar bus = new MakeBus();
bus.make();
}
}
看着很简单,还是得多谢谢,体会一下。才能知道什么时候用! |
|