/** * 智能摄像头类 * 实现了Monitored和Alarmable接口 */ public class SmartCamera implements Monitored, Alarmable { private String name; private boolean monitoring; private boolean alarmTriggered; public SmartCamera(String name) { this.name = name; this.monitoring = false; this.alarmTriggered = false; } @Override public void startMonitoring() { if (!monitoring) { monitoring = true; System.out.println(name + " 摄像头开始监控"); } else { System.out.println(name + " 摄像头已经在监控中"); } } @Override public void stopMonitoring() { if (monitoring) { monitoring = false; System.out.println(name + " 摄像头停止监控"); } else { System.out.println(name + " 摄像头已经停止监控"); } } @Override public String getMonitoringStatus() { return name + " 摄像头监控状态: " + (monitoring ? "正在监控" : "未监控"); } @Override public void triggerAlarm() { if (!alarmTriggered) { alarmTriggered = true; System.out.println(name + " 摄像头警报已触发!"); } } @Override public void silenceAlarm() { if (alarmTriggered) { alarmTriggered = false; System.out.println(name + " 摄像头警报已解除"); } } @Override public boolean isAlarmTriggered() { return alarmTriggered; } /** * 检测运动 */ public void detectMotion() { if (monitoring) { System.out.println(name + " 摄像头检测到运动!"); triggerAlarm(); } } }