工厂模式是我们最常用的实例化对象模式了,是用工厂方法代替new操作的一种模式。
创建接口类
public interface Animal {
void sounds();
}
实体类实现接口
public class Dog implements Animal {
@Override
public void sounds() {
System.out.println("狗叫汪汪");
}
}
public class Cat implements Animal {
@Override
public void sounds() {
System.out.println("猫叫喵喵");
}
}
创建一个工厂类,根据传入的参数生成对应的对象
public class AnimalFactory {
public Animal getAnimal(String animal) {
if ("cat".equals(animal)) {
return new Cat();
}
if ("dog".equals(animal)) {
return new Dog();
}
return null;
}
}
测试类检验成果
public class FactoryPatternDemo {
public static void main(String[] args) {
AnimalFactory animalFactory = new AnimalFactory();
Animal animal = animalFactory.getAnimal("cat");
animal.sounds();
Animal animal2 = animalFactory.getAnimal("dog");
animal2.sounds();
}
}
输出结果
猫叫喵喵
狗叫汪汪