工厂模式
工厂模式是常用模式之一,它是创建性设计模式的一种,在工厂模式中,我们创建对象不会对使用者暴露创建逻辑,而是通过一个共同的接口指向创建的对象
应用场景:
你在去买衣服的时候,直接从店里(工厂)买走就可以了,并不需要知道这件衣服是怎么被做出来的(封装在工厂内部)
工厂模式实例:
1,创建一个抽象类(Animal)
public abstract class Animal {
public abstract void say();
}
2,创建抽象类的实现类(Dog,Cat)
public class Cat extends Animal {
public void say() {
System.out.println("喵喵喵……");
}
}
public class Dog extends Animal {
public void say() {
System.out.println("汪汪汪……");
}
}
3,创建工厂,根据给定的信息生成对应的实体对象
public class AnimalFactory {
Animal getAnimal(String name){
if("Dog".equals(name)){
return new Dog();
}else if("Cat".equals(name)){
return new Cat();
}else {
return null;
}
}
}
4,测试
public class FactoryDemo {
public static void main(String[] args) {
AnimalFactory factory = new AnimalFactory();
Animal dog = factory.getAnimal("Dog");
Animal cat = factory.getAnimal("Cat");
if (dog!=null){
dog.say();
}
if (dog!=null){
cat.say();
}
}
}
5,result:
汪汪汪……
喵喵喵……