简单工厂模式

简单工厂模式

定义:就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。

简单工厂的使用

public interface Human {
    void say();
}


public class Man implements Human {
    @Override
    public void say() {
        System.out.println("男人");
    }
}

public class Woman implements Human {
    @Override
    public void say() {
        System.out.println("女人");
    }
}

public class SimpleFactory {
    public static Human makeHuman(Class clz) {
        Human human = null;
        try {
            Class aClass = Class.forName(clz.getName());
            human = (Human) aClass.newInstance();
        } catch (InstantiationException e) {
            System.out.println("不支持抽象类或接口");
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            System.out.println("没有足够权限,即不能访问私有对象");
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            System.out.println("类不存在");
            e.printStackTrace();
        }
        return human;
    }
}

public class SimpleFactoryPattern {

    public static void main(String[] args) {
        Human man = SimpleFactory.makeHuman(Man.class);
        man.say();

        Human woman = SimpleFactory.makeHuman(Woman.class);
        woman.say();
    }

}

输出:

男人

女人

你可能感兴趣的:(简单工厂模式)