打字猴:1.700476604e+09
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 ]  [ 下一页 ]