一:工厂方法(Factory Method)
1、 定义了一个创建对象的接口,但由子类决定要实例化哪个类。工厂方法把实例化操作推迟到子类。
2、具体上图:
public interface Car { void run(); }
public class Audi implements Car { @Override public void run() { System.out.println("奥迪在跑!"); } }
public class Byd implements Car { @Override public void run() { System.out.println("比亚迪在跑!"); } }
CarFactory
public interface CarFactory {
Car creatFactory();
}
Audi Factory
public class AudiFactory implements CarFactory { //一个工厂负责一个车
@Override
public Car creatFactory() {
return new Audi();
}
}
Byd Factory
public class BydFactory implements CarFactory { //一个工厂负责一个车
@Override
public Car creatFactory() {
return new Byd();
}
}
客户端:
public class Test {
public static void main(String[] args) {
Car c1=new AudiFactory().creatFactory();
c1.run();
}
}