/** * 家庭安全系统类 * 实现了Lockable、Monitored和Alarmable三个接口 */ public class HomeSecuritySystem implements Lockable, Monitored, Alarmable { private String name; private boolean locked; private boolean monitoring; private boolean alarmTriggered; public HomeSecuritySystem(String name) { this.name = name; this.locked = false; this.monitoring = false; this.alarmTriggered = false; } @Override public void lock() { locked = true; System.out.println(name + " 安全系统已锁定"); } @Override public void unlock() { locked = false; System.out.println(name + " 安全系统已解锁"); } @Override public boolean isLocked() { return locked; } @Override public void startMonitoring() { if (!monitoring) { monitoring = true; System.out.println(name + " 安全系统开始监控"); } } @Override public void stopMonitoring() { if (monitoring) { monitoring = false; 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 activateFullSecurity() { lock(); startMonitoring(); System.out.println(name + " 完整安全模式已激活"); } }