您的位置:首页 > 编程语言 > Java开发

设计模式--工厂模式(简要)(七)

2017-06-25 15:28 190 查看

优点

客户端不需要在负责对象的创建,从而明确了各个类的职责

缺点

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

public abstract class Animal {

public abstract void eat();
}

  

//定义子类

public class Cat extends Animal {

@Override
public void eat() {
System.out.println("猫吃鱼");
}
}

  

public class Dog extends Animal {

@Override
public void eat() {
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 AnimalDemo {

public static void main(String[] args) {
Animal a = AnimalFactory.createAnimal("dog");
a.eat();
a = AnimalFactory.createAnimal("cat");
a.eat();
  

a = AnimalFactory.createAnimal("pig");
if (a != null) {
a.eat();
} else {
System.out.println("对不起,暂时不提供这种动物");
}
}
}

  

  

  

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 设计模式