首页 > 其他 > 详细

简单工厂模式

时间:2020-01-18 09:29:16      阅读:66      评论:0      收藏:0      [点我收藏+]

作用

  • 为类的创建提供统一的接口
public class ShapeFactory {

    public static Shape getShape(String className) {

        ClassLoader classLoader = ShapeFactory.class.getClassLoader();
        try {
            Class<Shape> aClass = (Class<Shape>) classLoader.loadClass(className);
            // 实例 instanceof (类);
            //自身类.class.isInstance(自身实例或子类实例)  类和实例比对
            boolean flag = Shape.class.isAssignableFrom(aClass); //前面时父类,后面时子类 类和类比对
            if (flag) {
                Shape shape = aClass.newInstance();
                return shape;
            }

        } catch (ClassNotFoundException e) {
            throw new RuntimeException("类名错了");
        } catch (InstantiationException e) {
           throw new RuntimeException("没有无参构造器");
        } catch (IllegalAccessException e) {
           throw new RuntimeException("修饰符错误");
        }

       throw new RuntimeException("不是shape类");
    }

}

简单工厂模式

原文:https://www.cnblogs.com/eatandsleep/p/12208077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!