模板方法模式,准备一个抽象类,将部分逻辑以具体方法以及具体构造器的形式实现
模板方法模式的结构:
抽象模板角色:定义一个或多个抽象操作,以便让子类实现,并实现了一个模板方法
具体模板角色:实现一个或多个抽象操作,每一个抽象模板角色都可以有任意多个具体模板角色与之对应。
package cn.tcl.test;
public abstract class MakeBox {
public void doThis(){
System.out.println("do this ......");
}
public void doThat(){
System.out.println("do that ......");
}
abstract void addColor();
public void generateBox(){
doThis();
addColor();
doThat();
}
}
package cn.tcl.test;
public class MakeRiceBox extends MakeBox {
@Override
void addColor() {
System.out.println("add red color");
}
}
package cn.tcl.test;
public class TemplateTest {
/**
* @param args
*/
public static void main(String[] args) {
MakeBox makeBox = new MakeRiceBox();
makeBox.generateBox();
}
}