打字猴:1.700458175e+09
1700458175
1700458176 //每个产品共有的方法
1700458177
1700458178 public void shareMethod(){
1700458179
1700458180 }
1700458181
1700458182 //每个产品相同方法,不同实现
1700458183
1700458184 public abstract void doSomething();
1700458185
1700458186 }
1700458187
1700458188 两个具体的产品实现类如代码清单9-12、代码清单9-13所示。
1700458189
1700458190 代码清单9-12 产品A1的实现类
1700458191
1700458192 public class ProductA1 extends AbstractProductA{
1700458193
1700458194 public void doSomething(){
1700458195
1700458196 System.out.println(“产品A1的实现方法”);
1700458197
1700458198 }
1700458199
1700458200 }
1700458201
1700458202 代码清单9-13 产品A2的实现类
1700458203
1700458204 public class ProductA2 extends AbstractProductA{
1700458205
1700458206 public void doSomething(){
1700458207
1700458208 System.out.println(“产品A2的实现方法”);
1700458209
1700458210 }
1700458211
1700458212 }
1700458213
1700458214 产品B与此类似,不再赘述。抽象工厂类AbstractCreator的职责是定义每个工厂要实现的功能,在通用代码中,抽象工厂类定义了两个产品族的产品创建,如代码清单9-14所示。
1700458215
1700458216 代码清单9-14 抽象工厂类
1700458217
1700458218 public abstract class AbstractCreator{
1700458219
1700458220 //创建A产品家族
1700458221
1700458222 public abstract AbstractProductA createProductA();
1700458223
1700458224 //创建B产品家族
[ 上一页 ]  [ :1.700458175e+09 ]  [ 下一页 ]