1、思想
定义一个建造的抽象类,定义各个具体的抽象类来继承于抽象类,定义一个指挥者类,在客户端的代码中,通过向上转型,从而执行相应建造类中的方法,从而构建出想要的产品。(例如同过指挥者构造出不同的小人)。
2、代码
//建造抽象类
public abstract class Builder{
public abstract void build();
}
//建造具体类
public class Builder1 extends Builder{public void build(){
System.out.println("build1");
}
}
//建造具体类
public class Builder2 extends Builder{public void build(){
System.out.println("build2");
}
}
//指挥者类
扫描二维码关注公众号,回复:
1764859 查看本文章
public class Direction{
public void construct(Builder builder){
builder.build();
}
}
//客户端代码
public class Main {public static void main(String [] args){
Direction dir = new Direction();
Builder builder = new Builder1();//向上转型
dir.construct(builder);
}
}