打字猴:1.70045739e+09
1700457390 }
1700457391
1700457392 具体的产品类可以有多个,都继承于抽象产品类,其源代码如代码清单8-9所示。
1700457393
1700457394 代码清单8-9 具体产品类
1700457395
1700457396 public class ConcreteProduct1 extends Product{
1700457397
1700457398 public void method2(){
1700457399
1700457400 //业务逻辑处理
1700457401
1700457402 }
1700457403
1700457404 }
1700457405
1700457406 public class ConcreteProduct2 extends Product{
1700457407
1700457408 public void method2(){
1700457409
1700457410 //业务逻辑处理
1700457411
1700457412 }
1700457413
1700457414 }
1700457415
1700457416 抽象工厂类负责定义产品对象的产生,源代码如代码清单8-10所示。
1700457417
1700457418 代码清单8-10 抽象工厂类
1700457419
1700457420 public abstract class Creator{
1700457421
1700457422 /*
1700457423
1700457424 *创建一个产品对象,其输入参数类型可以自行设置
1700457425
1700457426 *通常为String、Enum、Class等,当然也可以为空
1700457427
1700457428 */
1700457429
1700457430 public abstract<T extends Product>T createProduct(Class<T>c);
1700457431
1700457432 }
1700457433
1700457434 具体如何产生一个产品的对象,是由具体的工厂类实现的,如代码清单8-11所示。
1700457435
1700457436 代码清单8-11 具体工厂类
1700457437
1700457438 public class ConcreteCreator extends Creator{
1700457439
[ 上一页 ]  [ :1.70045739e+09 ]  [ 下一页 ]