ADD file via upload

main
pc9pizjb6 4 months ago
parent c6a7c2b246
commit cc3c138ffb

@ -0,0 +1,199 @@
package com.car.model;
import java.util.ArrayList;
import java.util.List;
/**
* -
*/
public class Car {
private String brand;
private String model;
private String year;
// 组合关系组件
private SteeringWheel steeringWheel; // 方向盘
private List<Seat> seats; // 座椅列表
private Engine engine; // 引擎
private Transmission transmission; // 变速箱
private ElectronicSystem electronicSystem; // 电子系统
private List<Wheel> wheels; // 车轮列表
/**
*
* @param brand
* @param model
* @param year
*/
public Car(String brand, String model, String year) {
this.brand = brand;
this.model = model;
this.year = year;
// 初始化基础组件
this.steeringWheel = new SteeringWheel("Leather", "380mm", true);
this.seats = new ArrayList<>();
this.engine = new Engine("V6", 300, 3.5, 6);
this.transmission = new Transmission("Automatic", 8, true);
this.electronicSystem = new ElectronicSystem("v1.0");
this.wheels = new ArrayList<>();
// 初始化座椅
seats.add(new Seat("Driver", "Leather", true, true));
seats.add(new Seat("Passenger", "Leather", true, true));
// 初始化车轮
for (int i = 0; i < 4; i++) {
wheels.add(new Wheel("18 inch", "All-season", 32));
}
}
/**
*
*/
public void start() {
System.out.println(brand + " " + model + " starting...");
System.out.println("Engine started: " + engine.getType());
System.out.println("Electronic systems initialized.");
}
/**
*
*/
public void stop() {
System.out.println(brand + " " + model + " stopping...");
System.out.println("Engine stopped.");
}
/**
*
* @param newSteeringWheel
*/
public void replaceSteeringWheel(SteeringWheel newSteeringWheel) {
this.steeringWheel = newSteeringWheel;
System.out.println("Steering wheel replaced.");
}
/**
*
* @param index
* @param newSeat
* @return
*/
public boolean replaceSeat(int index, Seat newSeat) {
if (index >= 0 && index < seats.size()) {
seats.set(index, newSeat);
System.out.println("Seat at position " + index + " replaced.");
return true;
}
return false;
}
/**
*
* @param index
* @param newWheel
* @return
*/
public boolean replaceWheel(int index, Wheel newWheel) {
if (index >= 0 && index < wheels.size()) {
wheels.set(index, newWheel);
System.out.println("Wheel at position " + index + " replaced.");
return true;
}
return false;
}
/**
*
* @return
*/
public boolean runDiagnostics() {
System.out.println("Running diagnostics for " + brand + " " + model + "...");
boolean engineOk = true; // 简化处理
boolean electronicOk = electronicSystem.runDiagnostics();
// 检查轮胎气压
boolean wheelsOk = true;
for (int i = 0; i < wheels.size(); i++) {
if (!wheels.get(i).checkPressure()) {
System.out.println("Wheel " + i + " pressure issue detected!");
wheelsOk = false;
}
}
boolean overallStatus = engineOk && electronicOk && wheelsOk;
System.out.println("Diagnostics completed. Overall status: " + (overallStatus ? "OK" : "Issues detected"));
return overallStatus;
}
// getter and setter methods
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public SteeringWheel getSteeringWheel() {
return steeringWheel;
}
public void setSteeringWheel(SteeringWheel steeringWheel) {
this.steeringWheel = steeringWheel;
}
public List<Seat> getSeats() {
return new ArrayList<>(seats);
}
public Engine getEngine() {
return engine;
}
public void setEngine(Engine engine) {
this.engine = engine;
}
public Transmission getTransmission() {
return transmission;
}
public void setTransmission(Transmission transmission) {
this.transmission = transmission;
}
public ElectronicSystem getElectronicSystem() {
return electronicSystem;
}
public void setElectronicSystem(ElectronicSystem electronicSystem) {
this.electronicSystem = electronicSystem;
}
public List<Wheel> getWheels() {
return new ArrayList<>(wheels);
}
@Override
public String toString() {
return "Car [brand=" + brand + ", model=" + model + ", year=" + year + ", engine=" + engine + ", transmission=" + transmission + "]";
}
}
Loading…
Cancel
Save