|
|
package com.automobile.system;
|
|
|
|
|
|
/**
|
|
|
* 电子控制单元类 - 与电子系统是组合关系
|
|
|
* ECU是电子系统的必要组成部分,不能独立于电子系统存在
|
|
|
*/
|
|
|
public class ElectronicControlUnit {
|
|
|
private String type;
|
|
|
private String abbreviation;
|
|
|
private String version;
|
|
|
private boolean running;
|
|
|
private int faultCode;
|
|
|
|
|
|
/**
|
|
|
* 构造方法 - 创建电子控制单元时设置基本属性
|
|
|
* @param type 控制单元类型
|
|
|
* @param abbreviation 缩写
|
|
|
*/
|
|
|
public ElectronicControlUnit(String type, String abbreviation) {
|
|
|
this.type = type;
|
|
|
this.abbreviation = abbreviation;
|
|
|
this.version = "1.0.0";
|
|
|
this.running = false;
|
|
|
this.faultCode = 0; // 0表示无故障
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 初始化ECU
|
|
|
*/
|
|
|
public void initialize() {
|
|
|
this.running = true;
|
|
|
System.out.println(abbreviation + " (" + type + ") 初始化完成");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 关闭ECU
|
|
|
*/
|
|
|
public void shutdown() {
|
|
|
this.running = false;
|
|
|
System.out.println(abbreviation + " (" + type + ") 已关闭");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 执行自检
|
|
|
*/
|
|
|
public void runSelfTest() {
|
|
|
if (running) {
|
|
|
System.out.println(abbreviation + " 自检: " +
|
|
|
(faultCode == 0 ? "正常" : "故障代码: " + faultCode));
|
|
|
} else {
|
|
|
System.out.println(abbreviation + " 未运行");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 更新软件版本
|
|
|
* @param newVersion 新版本号
|
|
|
*/
|
|
|
public void updateSoftware(String newVersion) {
|
|
|
this.version = newVersion;
|
|
|
System.out.println(abbreviation + " 软件更新到版本 " + newVersion);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 设置故障代码
|
|
|
* @param code 故障代码
|
|
|
*/
|
|
|
public void setFault(int code) {
|
|
|
this.faultCode = code;
|
|
|
System.out.println(abbreviation + " 记录故障代码: " + code);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 清除故障
|
|
|
*/
|
|
|
public void clearFault() {
|
|
|
this.faultCode = 0;
|
|
|
System.out.println(abbreviation + " 故障已清除");
|
|
|
}
|
|
|
|
|
|
// Getter 和 Setter 方法
|
|
|
public String getType() {
|
|
|
return type;
|
|
|
}
|
|
|
|
|
|
public void setType(String type) {
|
|
|
this.type = type;
|
|
|
}
|
|
|
|
|
|
public String getAbbreviation() {
|
|
|
return abbreviation;
|
|
|
}
|
|
|
|
|
|
public void setAbbreviation(String abbreviation) {
|
|
|
this.abbreviation = abbreviation;
|
|
|
}
|
|
|
|
|
|
public String getVersion() {
|
|
|
return version;
|
|
|
}
|
|
|
|
|
|
public boolean isRunning() {
|
|
|
return running;
|
|
|
}
|
|
|
|
|
|
public int getFaultCode() {
|
|
|
return faultCode;
|
|
|
}
|
|
|
} |