抽象工厂模式

2020-10-30  本文已影响0人  Exception_22bf
// 先定义一个创建汽车接口
public interface BuildCar {
  // 创建车的抽象方法
  void build();
}
// 定义创建奔驰车的类
public class BcCar implements BuildCar {
      void build() {
        // 创建奔驰的具体逻辑
        ...
     }
}
// 定义创建宝马车的类
public class BmCar implements BuildCar {
      void build() {
        // 创建宝马的具体逻辑
        ...
     }
}
// 定义创建凯迪拉克车的类
public class KdlkCar implements BuildCar {
      void build() {
        // 创建凯迪拉克的具体逻辑
        ...
     }
}


// 定义一个创建飞机接口
public interface BuildAirplaner {
  // 创建飞机的抽象方法
  void build();
}
// 定义创建将j20的类
public class J20Airplaner implements BuildAirplaner {
      void build() {
        // 创建j20飞机的具体逻辑
        ...
     }
}
// 定义创建F35的类
public class F35Airplaner implements BuildAirplaner {
      void build() {
        // 创建F35的具体逻辑
        ...
     }
}


// 创建抽象工厂
public interface IFactory {
    BuildCar createCar();
    BuildAirplaner  createAirplaner();
}
// 创建一个具体的类(创建一辆奔驰和J20)
public Factory implements IFactory {
    BuildCar createCar() {
        return new BcCar();
    }
    BuildAirplaner  createAirplaner(){
        return new J20Airplaner();
    }
}
IFactory factory = new Factory();
// 创建奔驰
factory.createCar().build();
// 创建J20
factory.createAirplaner().build();
上一篇 下一篇

猜你喜欢

热点阅读