ADD file via upload

main
pc9pizjb6 6 months ago
parent ea3f4a2d9a
commit ca516fe74b

@ -0,0 +1,90 @@
package com.car.model;
import java.util.ArrayList;
import java.util.List;
/**
* -
* CarElectronicControlUnit
*/
public class ElectronicSystem {
private List<ElectronicControlUnit> ecuList; // ECU列表 - 组合关系
private String systemVersion; // 系统版本
/**
*
* @param systemVersion
*/
public ElectronicSystem(String systemVersion) {
this.systemVersion = systemVersion;
this.ecuList = new ArrayList<>();
// 初始化基本的ECU组件
initializeECUs();
}
/**
* ECU
*/
private void initializeECUs() {
addECU(new ElectronicControlUnit("Engine ECU", "Controls engine performance"));
addECU(new ElectronicControlUnit("ABS ECU", "Controls anti-lock braking system"));
addECU(new ElectronicControlUnit("Body ECU", "Controls body functions"));
addECU(new ElectronicControlUnit("Transmission ECU", "Controls transmission shifting"));
}
/**
* ECU
* @param ecu
*/
public void addECU(ElectronicControlUnit ecu) {
ecuList.add(ecu);
}
/**
* ECU
* @param index ECU
* @param newEcu ECU
* @return
*/
public boolean replaceECU(int index, ElectronicControlUnit newEcu) {
if (index >= 0 && index < ecuList.size()) {
ecuList.set(index, newEcu);
return true;
}
return false;
}
/**
* - ECU
* @return ECU
*/
public boolean runDiagnostics() {
boolean allOperational = true;
for (ElectronicControlUnit ecu : ecuList) {
if (!ecu.diagnose()) {
System.out.println(ecu.getName() + " is not operational!");
allOperational = false;
}
}
return allOperational;
}
// getter and setter methods
public List<ElectronicControlUnit> getEcuList() {
return new ArrayList<>(ecuList); // 返回副本,保持封装性
}
public String getSystemVersion() {
return systemVersion;
}
public void setSystemVersion(String systemVersion) {
this.systemVersion = systemVersion;
}
@Override
public String toString() {
return "ElectronicSystem [systemVersion=" + systemVersion + ", ecuCount=" + ecuList.size() + "]";
}
}
Loading…
Cancel
Save