定义:专门定义一个类来创建其他类的实例,被创建的实例通常都具有共同的父类和接口。
意图:提供一个类由它负责根据一定的条件创建某一及具体类的实例
//简单工厂,存在不符合开闭原则的地方,可以在参考抽象工厂/工厂方法
//输入苹果,就可以通过工厂直接调用采摘苹果,而不用new一个Apple
public class factoryDemo {
public static void main(String[] args) {
// TODO Auto-generated method stu
Factory factory = new Factory();
Fruit fruit = factory.getFruit("苹果");
if(fruit!=null) {
System.out.println(fruit.get());
}
}
}
class Factory{
public static Fruit getFruit(String name) {
if(name == "苹果") {
return new Apple();
}else if(name == "橘子") {
return new Orange();
}else {
return null;
}
}
}
interface Fruit{
String get();
}
class Apple implements Fruit{
public String get() {
return "采摘苹果";
}
}
class Orange implements Fruit{
public String get() {
return "采摘橘子";
}
}