1.简单工厂
简而言之,就是有一个专门生产某个产品的类。
比如下图中的汽车工厂,专业生产汽车,给参数特斯拉,生产特斯拉汽车,给参数特斯拉,生产特斯拉。
一个车工厂的接口
public interface Car {
void name();
}
二个汽车
//比亚迪
public class Bmw implements Car{
@Override
public void name() {
System.out.print("BMW");
}
}
//特斯拉
public class TSL implements Car {
@Override
public void name() {
System.out.print("特斯拉");
}
}
一个工厂
public class CarFactory {
public static Car getCar(String car) {
if (car.equals("BNW")) {
return new Bmw();
} else if (car.equals("特斯拉")) {
return new TSL();
} else {
return null;
}//当加入新的车辆时只需在后面加入新的判断就行
//但是不遵循开闭原则
}
}
实现类
public class Consumer {
public static void main2(String[] args){
Car bmw = new CarFactory().getCar("BMW");
bmw.name();
Car tsl= new CarFactory().getCar("特斯拉");
tsl.name();
}
}