打字猴:1.7004593e+09
1700459300
1700459301 图11-2 增加了建造者的汽车模型类图
1700459302
1700459303 增加了一个CarBuilder抽象类,由它来组装各个车模,要什么类型什么顺序的车辆模型,都由相关的子类完成。首先编写CarBuilder代码,如代码清单11-5所示。
1700459304
1700459305 代码清单11-5 抽象汽车组装者
1700459306
1700459307 public abstract class CarBuilder{
1700459308
1700459309 //建造一个模型,你要给我一个顺序要,就是组装顺序
1700459310
1700459311 public abstract void setSequence(ArrayList<String>sequence);
1700459312
1700459313 //设置完毕顺序后,就可以直接拿到这个车辆模型
1700459314
1700459315 public abstract CarModel getCarModel();
1700459316
1700459317 }
1700459318
1700459319 很简单,每个车辆模型都要有确定的运行顺序,然后才能返回一个车辆模型。奔驰车的组装者如代码清单11-6所示。
1700459320
1700459321 代码清单11-6 奔驰车组装者
1700459322
1700459323 public class BenzBuilder extends CarBuilder{
1700459324
1700459325 private BenzModel benz=new BenzModel();
1700459326
1700459327 public CarModel getCarModel(){
1700459328
1700459329 return this.benz;
1700459330
1700459331 }
1700459332
1700459333 public void setSequence(ArrayList<String>sequence){
1700459334
1700459335 this.benz.setSequence(sequence);
1700459336
1700459337 }
1700459338
1700459339 }
1700459340
1700459341 非常简单实用的程序,给定一个汽车的运行顺序,然后就返回一个奔驰车,简单了很多。宝马车的组装与此相同,如代码清单11-7所示。
1700459342
1700459343 代码清单11-7 宝马车组装者
1700459344
1700459345 public class BMWBuilder extends CarBuilder{
1700459346
1700459347 private BMWModel bmw=new BMWModel();
1700459348
1700459349 public CarModel getCarModel(){
[ 上一页 ]  [ :1.7004593e+09 ]  [ 下一页 ]