应用场景 :当一个类A需要创建另一个类的B对象或者类B子类的对象时,类A实现不知道类B的哪个子类的对象将要被创建。在这种情况下,类A将创建对象的任务交给自己的子类去完成。总之,对应一个产品类的继承树,工厂类有一个对应的继承树。
解决方案 :
1)创建一个抽象类(或接口)A并提供一个抽象方法。该抽象方法返回抽象产品类型B。
2)创建一系列实体类继承A并重写A中的抽象方法以返回一个B子类的对象。
其类图如下所示:
JDK中范例
具体实例
随后补上...
应用场景 :当一个类A需要创建另一个类的B对象或者类B子类的对象时,类A实现不知道类B的哪个子类的对象将要被创建。在这种情况下,类A将创建对象的任务交给自己的子类去完成。总之,对应一个产品类的继承树,工厂类有一个对应的继承树。
解决方案 :
1)创建一个抽象类(或接口)A并提供一个抽象方法。该抽象方法返回抽象产品类型B。
2)创建一系列实体类继承A并重写A中的抽象方法以返回一个B子类的对象。
其类图如下所示:
JDK中范例
具体实例
随后补上...