相对于抽象工厂模式有了一定优势,抽象工厂模式只能创建存储单一类的实例,而建造者模式能存储多个类的实例了。上代码,pass:前几篇都用First、Second啥的,没法混了,现在换成人了(*^__^*) 嘻嘻……
首先,依然是创建一个接口:
public interface Man {
public void createMan();
}
其次,依然是两个实现类:
public class BlackMan implements Man {
@Override
public void createMan() { //不管了,就造人了 O(∩_∩)O哈哈~
System.out.println("Create blackMan");
}
}
public class WhiteMan implements Man {
@Override
public void createMan() {
System.out.println("Create WhiteMan");
}
}
然后是建造者类:
public class Builder {
private List<Man> list = new ArrayList<Man>(); //添加一个集合,可以存储多个类的实例
public void createBlackMan(int count){
for(int i=0; i<count; i++){
list.add(new BlackMan());
}
}
public void createWhiteMan(int count){
for(int i=0; i<count; i++){
list.add(new WhiteMan());
}
}
}
测试类:
public class Test {
public static void main(String[] args) {
Builder builder = new Builder();
builder.createBlackMan(10);// 如此就造了10个黑人,存储在ArrayList中
}
}