简单工厂模式

来源:互联网 发布:淘宝的详情页怎么做 编辑:程序博客网 时间:2024/05/17 23:06

简单工厂模式


  • 又叫静态工厂方法模式,它定义一个具体的工厂类负责创建一些类的实例
/** * 抽象的动物类,里面有抽象的方法 **/public abstract class Animal {    public abstract void eat();}
/** * 具体的动物猫继承抽象动物类,重写抽象方法 */public class Cat extends Animal {    public void eat() {        // TODO Auto-generated method stub        System.out.println("猫吃鱼");    }}
/** * 具体的动物狗继承抽象动物类,重写抽象方法 */public class Dog extends Animal {    public void eat() {        // TODO Auto-generated method stub        System.out.println("狗吃肉");    }}
/** * 动物工厂类,可以造猫和狗 */public class AnimalFactory {    private AnimalFactory() {    }    public static Animal createAnimal(String type) {        if ("dog".equals(type)) {            return new Dog();        } else if ("cat".equals(type)) {            return new Cat();        } else {            return null;        }    }}
/** * 测试类 */public class Factory {    public static void main(String[] args) {        // 工厂有了后,通过工厂给造        Animal a = AnimalFactory.createAnimal("dog");        a.eat();        a = AnimalFactory.createAnimal("cat");        a.eat();        // NullPointerException        a = AnimalFactory.createAnimal("pig");        if (a != null) {            a.eat();        } else {            System.out.println("对不起,暂时不提供这种动物");        }    }}
  • 优点:客户端不需要在负责对象的创建,从而明确了各个类的职责

  • 缺点:这个静态工厂类负责所有对象的创建,如果有新的对象增加,或者某些对象的创建方式不同,就需要不断的修改工厂类,不利于后期的维护

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 流产后吹了风怎么办 怀孕1周内喝酒了怎么办 怀孕6周喝酒了怎么办 怀孕后喝了酒怎么办 不知道怀孕喝酒了怎么办 不知道怀孕了喝酒了怎么办 怀孕5天喝酒了怎么办 打孩子耳光后脸肿了怎么办 老师说上课不专心怎么办 孩子不专心好动马虎怎么办 学生上课不认真听讲怎么办 一年级孩子上课不注意听讲怎么办 一年级孩子上课说话不听课怎么办 一年级孩子上课不听课怎么办 小学一年级学生上课不专心怎么办? 小孩听课注意力不集中怎么办 小孩子上课精神不集中怎么办 孩子说我不画了怎么办 幼儿园小朋友上课不专心怎么办 孩子写作业不专心怎么办 小孩做作业不专心怎么办 孩子上课精力不集中怎么办 四岁宝宝吃饭慢怎么办 5岁宝宝吃饭慢怎么办 小学一年级上课不专心怎么办 5岁儿童不专心怎么办 小孩子做作业不专心怎么办 孩子做作业不专心怎么办 小孩学了就忘怎么办 小孩学过就忘了怎么办 做事老是注意力不集中怎么办 做事无法专注注意力不集中怎么办 幼儿园孩子上课不认真听讲怎么办 孩子在课间打闹家长应该怎么办 孩子打闹家长额钱怎么办 我又打孩子了怎么办 打排卵针不排卵怎么办 总是控制不住打骂孩子怎么办 叛逆期的孩子打骂妈妈怎么办 孩子屁股打青了怎么办 父亲把孩子屁股打流血怎么办