/** * 智能灯泡类 * 实现了SmartDevice, PowerControl和LightControl接口 */ public class SmartLightBulb implements SmartDevice, PowerControl, LightControl { private String deviceId; private String deviceName; private boolean isPowerOn; private int brightness; private String color; /** * 构造函数 * @param deviceId 设备ID * @param deviceName 设备名称 */ public SmartLightBulb(String deviceId, String deviceName) { this.deviceId = deviceId; this.deviceName = deviceName; this.isPowerOn = false; this.brightness = 50; // 默认亮度50% this.color = "white"; // 默认颜色白色 } @Override public String getDeviceId() { return deviceId; } @Override public String getDeviceName() { return deviceName; } @Override public String getDeviceType() { return "LightBulb"; } @Override public String getStatusDescription() { return deviceName + " (ID: " + deviceId + ") - 状态: " + (isPowerOn ? "开启" : "关闭") + ", 亮度: " + brightness + "%, 颜色: " + color; } @Override public void turnOn() { isPowerOn = true; System.out.println(deviceName + " 电源已开启"); } @Override public void turnOff() { isPowerOn = false; System.out.println(deviceName + " 电源已关闭"); } @Override public boolean isPowerOn() { return isPowerOn; } @Override public void turnOnLight() { turnOn(); } @Override public void turnOffLight() { turnOff(); } @Override public void setBrightness(int brightness) { if (brightness >= 0 && brightness <= 100) { this.brightness = brightness; System.out.println(deviceName + " 亮度已设置为: " + brightness + "%"); } else { System.out.println(deviceName + " 亮度必须在 0-100% 之间"); } } @Override public void setColor(String color) { this.color = color; System.out.println(deviceName + " 颜色已设置为: " + color); } @Override public boolean isLightOn() { return isPowerOn; } }