/** 工厂设计模式
* 定义接口
*/
public interface PlantCarService {
void getCar();
void getBUgCar();
}
创建两个实现类 分别时间这个接口
public class PlantBusImpl implements PlantCarService {
@Override
public void getCar() {
System.out.println("坐公交车上班");
}
@Override
public void getBUgCar() {
System.out.println("测试公交车");
}
}
public class PlantBikeImpl implements PlantCarService {
@Override
public void getCar() {
System.out.println("骑自行车上班");
}
@Override
public void getBUgCar() {
System.out.println("测试什么意思");
}
}
创建工厂方法接口
/** 工厂方法接口
* Created by z1761 on 2018/9/17.
*/
public interface PlantICarFactoryService {
PlantCarService getGainCars();
}
建立工厂方法接口的两个实现
public class PlanBikeFactoryImpl implements PlantICarFactoryService {
@Override
public PlantCarService getGainCars() {
return new PlantBikeImpl();
}
}
public class PlanBusFactoryImpl implements PlantICarFactoryService {
@Override
public PlantCarService getGainCars() {
return new PlantBusImpl();
}
}
/** 工厂模式 测试类
* Created by z1761 on 2018/9/17.
*/
public class PlantModelController {
public static void main(String[] args) {
PlantICarFactoryService factory = null;
//bike
factory = new PlanBikeFactoryImpl();
PlantCarService gainCars = factory.getGainCars();
gainCars.getCar();
gainCars.getBUgCar();
//bus
factory = new PlanBusFactoryImpl();
PlantCarService gainCars1 = factory.getGainCars();
System.out.println("一下是");
gainCars1.getCar();
}
}