diff --git a/ChallengeTest.java b/ChallengeTest.java new file mode 100644 index 0000000..1ae131a --- /dev/null +++ b/ChallengeTest.java @@ -0,0 +1,70 @@ +/** + * 挑战题测试类 + * 测试智能家电接口体系和动态设备管理系统 + */ +public class ChallengeTest { + public static void main(String[] args) { + System.out.println("===== 挑战题测试 - 智能家电接口体系和动态设备管理 ====="); + + // 创建动态设备管理系统 + DeviceManager manager = new DeviceManager("Smart Home Manager"); + + // 创建各种智能家电 + Device airConditioner = new SmartAirConditioner("Bedroom AC"); + Device livingRoomLight = new SmartLight("Living Room Light"); + Device kitchenLight = new SmartLight("Kitchen Light"); + Device smartTV = new SmartTV("Living Room TV"); + + // 添加设备到管理系统 + manager.addDevice(airConditioner); + manager.addDevice(livingRoomLight); + manager.addDevice(kitchenLight); + manager.addDevice(smartTV); + + // 列出所有设备 + manager.listAllDevices(); + + // 打开所有设备 + System.out.println("\n打开所有设备:"); + manager.turnOnAllDevices(); + + // 测试特定功能 + System.out.println("\n测试特定设备功能:"); + + // 测试空调温度调节 + if (airConditioner instanceof TemperatureAdjustable) { + TemperatureAdjustable tempDevice = (TemperatureAdjustable) airConditioner; + tempDevice.setTemperature(22); + tempDevice.increaseTemperature(1); + } + + // 测试灯光亮度调节 + if (livingRoomLight instanceof BrightnessAdjustable) { + BrightnessAdjustable brightDevice = (BrightnessAdjustable) livingRoomLight; + brightDevice.setBrightness(80); + } + + // 测试电视的多种功能 + if (smartTV instanceof SmartTV) { + SmartTV tv = (SmartTV) smartTV; + tv.play("Netflix - 电影"); + tv.setTimer(60); + System.out.println("电视定时器剩余时间: " + tv.getRemainingTime() + " 分钟"); + tv.pause(); + tv.increaseBrightness(10); + } + + // 使用设备管理器的批量功能 + System.out.println("\n使用批量管理功能:"); + manager.setTemperatureForAll(24); // 设置所有温控设备为24度 + manager.setBrightnessForAll(60); // 设置所有灯光为60%亮度 + + // 列出设备当前状态 + System.out.println("\n更新后的设备状态:"); + manager.listAllDevices(); + + // 关闭所有设备 + System.out.println("\n关闭所有设备:"); + manager.turnOffAllDevices(); + } +} \ No newline at end of file