打字猴:1.700476615e+09
1700476615
1700476616 public String getModel(){
1700476617
1700476618 return R_SERIES;
1700476619
1700476620 }
1700476621
1700476622 }
1700476623
1700476624 代码清单30-18 奔驰SUV
1700476625
1700476626 public class BenzSuv extends AbsBenz{
1700476627
1700476628 private final static String G_SERIES=“G系列SUV”;
1700476629
1700476630 public String getModel(){
1700476631
1700476632 return G_SERIES;
1700476633
1700476634 }
1700476635
1700476636 }
1700476637
1700476638 所有的产品类都已经实现了,剩下的工作就是要定义工厂类进行生产,由于产品类型多样,也导致了必须有多个工厂类来生产不同产品,首先就需要定义一个抽象工厂,声明每个工厂必须完成的职责,如代码清单30-19所示。
1700476639
1700476640 代码清单30-19 抽象工厂
1700476641
1700476642 public interface CarFactory{
1700476643
1700476644 //生产SUV
1700476645
1700476646 public ICar createSuv();
1700476647
1700476648 //生产商务车
1700476649
1700476650 public ICar createVan();
1700476651
1700476652 }
1700476653
1700476654 抽象工厂定义了每个工厂必须生产两个类型车:SUV(运动车)和VAN(商务车),否则一个工厂就不能被实例化,我们来看宝马车工厂,如代码清单30-20所示。
1700476655
1700476656 代码清单30-20 宝马车工厂
1700476657
1700476658 public class BMWFactory implements CarFactory{
1700476659
1700476660 //生产SUV
1700476661
1700476662 public ICar createSuv(){
1700476663
1700476664 return new BMWSuv();
[ 上一页 ]  [ :1.700476615e+09 ]  [ 下一页 ]