简单工厂模式

简单工厂模式:

  工厂类负责创建的对象比较少,对于对象的创建不关心,一般在简单的场景下使用。

  简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖

1 public abstract class Animal {
2     public abstract void sayHello();
3 }
1 public class Cat extends Animal{
2     @Override
3     public void sayHello() {
4         System.out.println("sayHello--Cat");
5     }
6 }
1 public class Dog extends Animal {
2     @Override
3     public void sayHello() {
4         System.out.println("sayHello--Dog");
5     }
6 }
 1 public class AnimalFactory {
 2     /**
 3      * 工厂方法:根据接收到的要哪个对象的类型再决定创建对应的对象
 4      * @param animalName 动物类型
 5      * @return 对应的动物类对象
 6      */
 7     public static Animal createAnimal(String animalType) {
 8         Animal animal = null;
 9         switch (animalType) {
10         case "cat":
11             animal = new Cat();
12             break;
13         case "dog":
14             animal = new Dog();
15                        break;
16         }
17         return animal;
18     }
19 }       

1
public class AnimalTest { 2 public static void main(String[] args) { 3 Animal animal = null; 4 //上溯造型 5 animal = AnimalFactory.createAnimal("dog");//返回dog对象 6 animal.sayHello();//结果:sayHello--Dog 7 //上溯造型 8 animal = AnimalFactory.createAnimal("cat");//返回dog对象 9 animal.sayHello();//结果:sayHello--Cat 10 } 11 }

UML图:

 

posted @ 2018-08-07 21:28  以前、以后  阅读(127)  评论(0编辑  收藏  举报