parent
e6ba5bed3e
commit
f3253636d2
@ -0,0 +1,101 @@
|
||||
package com.car.config;
|
||||
|
||||
import com.car.model.*;
|
||||
|
||||
/**
|
||||
* 汽车配置系统类 - 允许用户自定义汽车的各种组合部件
|
||||
*/
|
||||
public class CarConfigurationSystem {
|
||||
|
||||
/**
|
||||
* 创建自定义配置的汽车
|
||||
* @param brand 品牌
|
||||
* @param model 型号
|
||||
* @param year 年份
|
||||
* @param config 配置选项
|
||||
* @return 配置好的汽车
|
||||
*/
|
||||
public Car configureCar(String brand, String model, String year, CarConfig config) {
|
||||
Car car = new Car(brand, model, year);
|
||||
|
||||
// 根据配置自定义汽车组件
|
||||
if (config != null) {
|
||||
// 配置方向盘
|
||||
if (config.getSteeringWheelMaterial() != null) {
|
||||
SteeringWheel customWheel = new SteeringWheel(
|
||||
config.getSteeringWheelMaterial(),
|
||||
config.getSteeringWheelDiameter(),
|
||||
config.isSteeringWheelAirbag()
|
||||
);
|
||||
car.replaceSteeringWheel(customWheel);
|
||||
}
|
||||
|
||||
// 配置座椅
|
||||
if (config.getDriverSeatMaterial() != null) {
|
||||
Seat customDriverSeat = new Seat(
|
||||
"Driver",
|
||||
config.getDriverSeatMaterial(),
|
||||
true,
|
||||
config.isDriverSeatHeated()
|
||||
);
|
||||
car.replaceSeat(0, customDriverSeat);
|
||||
}
|
||||
|
||||
// 配置引擎
|
||||
if (config.getEngineType() != null) {
|
||||
Engine customEngine = new Engine(
|
||||
config.getEngineType(),
|
||||
config.getEngineHorsepower(),
|
||||
config.getEngineDisplacement(),
|
||||
config.getEnginePistonCount()
|
||||
);
|
||||
car.setEngine(customEngine);
|
||||
}
|
||||
|
||||
// 配置变速箱
|
||||
if (config.getTransmissionType() != null) {
|
||||
Transmission customTrans = new Transmission(
|
||||
config.getTransmissionType(),
|
||||
config.getTransmissionGears(),
|
||||
config.isTransmissionSportMode()
|
||||
);
|
||||
car.setTransmission(customTrans);
|
||||
}
|
||||
|
||||
// 配置车轮
|
||||
if (config.getWheelSize() != null) {
|
||||
Wheel customWheel = new Wheel(
|
||||
config.getWheelSize(),
|
||||
config.getWheelType(),
|
||||
32 // 默认气压
|
||||
);
|
||||
// 更换所有四个车轮
|
||||
for (int i = 0; i < 4; i++) {
|
||||
car.replaceWheel(i, customWheel);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("Custom car configured successfully!");
|
||||
return car;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建标准配置的汽车
|
||||
* @param brand 品牌
|
||||
* @param model 型号
|
||||
* @param year 年份
|
||||
* @return 标准配置的汽车
|
||||
*/
|
||||
public Car createStandardCar(String brand, String model, String year) {
|
||||
return new Car(brand, model, year);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取默认配置
|
||||
* @return 默认配置对象
|
||||
*/
|
||||
public CarConfig getDefaultConfig() {
|
||||
return new CarConfig();
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue