组合模式python3.设计一个计算机主机(Mainframe)开机(on())的程序,即可调用其他硬件设备和软件的启动方法,如内存(Memory)的自检(check())、CPU的运行(run())、硬盘(HardDisk)的读取(read())、操作
时间: 2024-05-16 13:17:43 浏览: 72
系统(OS)的启动(start())等。同时,也要能够关闭计算机主机(shut_down()),即关闭其他硬件设备和软件。
下面是一个使用组合模式实现的计算机主机(Mainframe)开机(on())程序:
```python
class Mainframe:
def __init__(self):
self.devices = []
def on(self):
# 内存自检
memory = Memory()
memory.check()
self.devices.append(memory)
# CPU运行
cpu = CPU()
cpu.run()
self.devices.append(cpu)
# 硬盘读取
hard_disk = HardDisk()
hard_disk.read()
self.devices.append(hard_disk)
# 操作系统启动
os = OS()
os.start()
self.devices.append(os)
def shut_down(self):
for device in self.devices:
device.off()
class Memory:
def check(self):
print("Memory check passed.")
class CPU:
def run(self):
print("CPU running.")
class HardDisk:
def read(self):
print("Hard disk reading.")
class OS:
def start(self):
print("Operating system starting.")
```
使用示例:
```python
mainframe = Mainframe()
mainframe.on() # 计算机主机开机
# 输出:
# Memory check passed.
# CPU running.
# Hard disk reading.
# Operating system starting.
mainframe.shut_down() # 计算机主机关闭
```
在这个示例中,`Mainframe` 类代表了计算机主机,它包含了多个硬件设备和软件。在 `on()` 方法中,我们将计算机主机中的每个设备都启动,并将它们添加到 `self.devices` 列表中。在 `shut_down()` 方法中,我们遍历所有设备并关闭它们。
通过组合模式,我们可以很方便地将多个对象组合到一个更大的对象中,并通过统一的接口来访问它们。这样可以使代码更加简洁、灵活和可扩展。
阅读全文