ADD file via upload

main
pfvwqyiue 6 months ago
parent 446d3a14bf
commit 03efc4daff

@ -0,0 +1,84 @@
/**
*
* MonitoredAlarmable
*/
public class SecurityCamera implements Monitored, Alarmable {
private String name;
private boolean isMonitoring;
private int alarmSensitivity;
private boolean isAlarmTriggered;
/**
*
* @param name
*/
public SecurityCamera(String name) {
this.name = name;
this.isMonitoring = false;
this.alarmSensitivity = 5; // 默认灵敏度为5
this.isAlarmTriggered = false;
}
@Override
public void startMonitoring() {
if (!isMonitoring) {
isMonitoring = true;
System.out.println(name + " 开始监控");
} else {
System.out.println(name + " 已经在监控中");
}
}
@Override
public void stopMonitoring() {
if (isMonitoring) {
isMonitoring = false;
System.out.println(name + " 停止监控");
} else {
System.out.println(name + " 已经停止监控");
}
}
@Override
public String getMonitoringStatus() {
return name + " 监控状态: " + (isMonitoring ? "正在监控" : "未监控");
}
@Override
public void triggerAlarm() {
if (!isAlarmTriggered) {
isAlarmTriggered = true;
System.out.println(name + " 报警已触发! 灵敏度级别: " + alarmSensitivity);
} else {
System.out.println(name + " 报警已经在触发状态");
}
}
@Override
public void stopAlarm() {
if (isAlarmTriggered) {
isAlarmTriggered = false;
System.out.println(name + " 报警已停止");
} else {
System.out.println(name + " 报警已经停止");
}
}
@Override
public void setAlarmSensitivity(int level) {
if (level >= 1 && level <= 10) {
this.alarmSensitivity = level;
System.out.println(name + " 报警灵敏度已设置为: " + level);
} else {
System.out.println("灵敏度必须在1-10之间");
}
}
/**
*
* @return
*/
public String getName() {
return name;
}
}
Loading…
Cancel
Save