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 ]
[
下一页 ]