Untitled
林江琎:负责 “设备与房间” 模块
任务 1:设备抽象类与具体设备(核心面向对象)
Device.java
(抽象类)- 定义所有设备的通用属性:
id
(字符串)、name
(名称)、isOn
(开关状态) - 抽象方法:
turnOn()
(开启)、turnOff()
(关闭) - 提供通用方法:
getName()
(获取名称)、isOn()
(获取状态)
- 定义所有设备的通用属性:
Light.java
(智能灯)- 继承
Device
,额外功能:调光(亮度brightness
,0-100) - 实现接口:
Dimmable
(调光),新增方法:setBrightness(int level)
- 继承
Thermostat.java
(温控器)- 继承
Device
,额外功能:温度调节(temperature
,单位℃) - 新增方法:
setTemperature(double temp)
(设置温度)
- 继承
DoorLock.java
(智能锁)- 继承
Device
,额外功能:锁定状态(locked
,布尔值) - 新增方法:
lock()
(上锁)、unlock()
(解锁)
- 继承
任务 2:房间管理(组合关系)
Room.java
(房间类)- 包含多个设备(用
List<Device>
存储) - 方法:
addDevice(Device device)
(添加设备到房间) - 批量操作:
turnOnAllDevices()
(打开房间内所有设备)
- 包含多个设备(用
钟俊负责 “系统与场景” 模块
任务 1:系统核心(单例模式)
SmartHomeSystem.java
(系统管理类)- 单例模式:通过
getInstance()
获取唯一实例 - 管理所有设备、房间、场景(用
List
存储) - 方法:
addDevice(Device device)
、addRoom(Room room)
- 单例模式:通过
任务 2:场景控制(多态与条件判断)
Scene.java
(场景接口)- 定义通用方法:
activate()
(激活场景)、deactivate()
(停用场景)
- 定义通用方法:
ManualScene.java
(手动场景)- 实现
Scene
接口,包含一系列设备操作(如 “回家模式”:开灯、开空调) - 用
List<DeviceCommand>
存储操作步骤,DeviceCommand
是自定义命令类(如 “打开灯”“调节温度”)
- 实现
AutomationScene.java
(自动场景)- 实现
Scene
接口,根据条件自动触发(如 “温度高于 30℃时开空调”) - 依赖
Condition
接口判断条件(简化为时间条件:TimeCondition
,如 “晚上 8 点自动开灯”)
- 实现
任务 3:主类演示(必须包含)
Demo.java
(程序入口)- 创建设备、房间、场景,演示系统功能
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.