工厂方法-facotry method

定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。

1、一个工厂对应一个产品

这里写图片描述

2、

这里写图片描述

使用以下代码实现对象,可以只使用1个工厂,而产生多个对象

public  T createProduct(Class c) {


        Product product = null;
        try {
            product = (Product)Class.forName(c.getName()).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return (T)product;
    }

优点:

 将父类的方法,延迟到子类实现
 
 解耦、屏蔽产品类的实现、良好的封装性

你可能感兴趣的:(工厂方法-facotry method)