概念
提供一个创建对象实例的功能,而无须关心其具体实现。被创建的类型可以是接口、抽象类,也可以是具体的类。
实例
某公司(Company )想要生产交通工具(Creator ),汽车(Car )和飞机(Plane ),但是自己可能不是做这个的,可它可以通过花钱请专门的工厂()来生产。
公司
public class Company {
public static void main(String[] args) {
//制造汽车
Creator car = Factory.Created(1);
car.create();
//制造飞机
Creator plane = Factory.Created(2);
plane.create();
}
}
工厂
public class Factory {
public static Creator Created(int type){
Creator creator = null;
switch (type) {
case 1:
creator = new Car();
break;
case 2:
creator = new Plane();
break;
default:
break;
}
return creator;
}
}
交通工具
public interface Creator {
void create();
}
汽车
public class Car implements Creator {
@Override
public void create() {
System.out.println("create car");
}
}
飞机
public class Plane implements Creator {
@Override
public void create() {
System.out.println("create plane");
}
}
对上述实例不懂的可以留言,代码已全部贴出