顾名思义,简单工厂模式是最简单的一种工厂模式,它定义了一个负责生产对象的工厂类,使用者可以根据不同参数来创建并返回不同子类,这些子类都共用一个接口(即父类)。
简单工厂模式的基本要求:
- 定义一个
static
方法,通过类名直接调用(不用创建对象) - 返回值类型是父类类型,返回的可以是其任意子类类型
- 传入一个字符串类型的参数,工厂根据参数创建对应的子类产品
例如:
public class PetStore {
public static Animal getAnimal(String petName){
Animal an = null;
if("猫".equals(petName)){ //写成petName.equals("猫")容易发生空指针异常
an = new Cat();
}
if("狗".equals(petName)){
an = new Dog();
}
if("猪".equals(petName)){
an = new Pig();
}
return an;
}
}
public class Test {
public static void main(String[] args) {
Animal an = PetStore.getAnimal("狗");
}
}