python使用外观模式(Facade Pattern)设计一个KTV房间的遥控器,该遥控器可以控制房间的电视、音响、灯光以及空调等。用户可以通过遥控器统一控制房间内的设备,实现一键开启/关闭房间内的所有设备。
时间: 2024-01-22 21:17:34 浏览: 127
python 外观模式(示例)
好的,我可以帮你实现一个简单的 KTV 房间的遥控器,代码如下:
```python
class Television:
def __init__(self):
pass
def on(self):
print("电视已打开")
def off(self):
print("电视已关闭")
class Audio:
def __init__(self):
pass
def on(self):
print("音响已打开")
def off(self):
print("音响已关闭")
class Light:
def __init__(self):
pass
def on(self):
print("灯光已打开")
def off(self):
print("灯光已关闭")
class AirConditioner:
def __init__(self):
pass
def on(self):
print("空调已打开")
def off(self):
print("空调已关闭")
class KTVRoomFacade:
def __init__(self):
self.television = Television()
self.audio = Audio()
self.light = Light()
self.air_conditioner = AirConditioner()
def on(self):
self.television.on()
self.audio.on()
self.light.on()
self.air_conditioner.on()
def off(self):
self.television.off()
self.audio.off()
self.light.off()
self.air_conditioner.off()
if __name__ == '__main__':
ktv_room = KTVRoomFacade()
ktv_room.on()
ktv_room.off()
```
在这个例子中,我们定义了一个外观类 `KTVRoomFacade`,它包含了房间内所有设备的控制方法。用户只需要通过遥控器调用 `KTVRoomFacade` 的 `on()` 方法就可以打开所有设备,调用 `off()` 方法就可以关闭所有设备。这样,用户不需要了解每个设备的具体实现,只需要与外观类交互即可。
阅读全文