1.为了防止客户端和一个具体的子类耦合在一起所以有了工厂设计模式
用户在方法中输入对象的名字,就可以在工厂中得到相对应的对象实例。
package test;
//水果接口标准
interface Fruit {
public void eat();
}
class Apple implements Fruit {
@Override
public void eat() {
System.out.println("吃苹果");
}
}
class Orange implements Fruit {
@Override
public void eat() {
System.out.println("吃橘子");
}
}
class Factory {
public static Fruit getInstance(String className) {
if ("apple".equals(className)) {
return new Apple();
}
if ("orange".equals(className)) {
return new Orange();
}
return null;
}
}
public class Test {
public static void main(String[] args) {
Fruit f = Factory.getInstance("apple");//在客户端输入需要的对象名称就可以得到对象
f.eat();
}
}
主要是为了解耦合
原文:https://www.cnblogs.com/cainame/p/10326024.html