工厂方法模式,每种类型的汽车都有自己的工厂,可以横向扩展,实现了开闭原则。
public interface CarFactory {
public Car makeCar();
}
public class BaoMaFactory implements CarFactory{
@Override
public Car makeCar() {
return new BaoMaCar();
}
}
public class BenChiFactory implements CarFactory{
@Override
public Car makeCar() {
return new BenChiCar();
}
}
public interface Car {
public void make();
}
public class BaoMaCar implements Car{
@Override
public void make() {
System.out.println("正在制造宝马~");
}
}
public class BenChiCar implements Car{
@Override
public void make() {
System.out.println("正在制造奔驰~");
}
}
public class Demo {
public static void main(String[] args) {
CarFactory benChiFactory = new BenChiFactory();
benChiFactory.makeCar().make();
CarFactory baoMaFactory = new BaoMaFactory();
baoMaFactory.makeCar().make();
}
}
运行结果:
正在制造奔驰~
正在制造宝马~