1700476604
public abstract String getModel();
1700476605
1700476606
}
1700476607
1700476608
由于分类的标准是相同的,因此奔驰车也应该有商务车和运动车两个类型,分别如代码清单30-17和代码清单30-18所示。
1700476609
1700476610
代码清单30-17 奔驰商务车
1700476611
1700476612
public class BenzVan extends AbsBenz{
1700476613
1700476614
private final static String R_SERIES=“R系列商务车”;
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
[
上一页 ]
[ :1.700476604e+09 ]
[
下一页 ]