创建一个简单工厂,可以根据不同的条件可以生成不同类型的电脑(windows与mac) 要求1:画类示意图 要求2:根据示意图编写代码 要求3:最终效果图
时间: 2023-06-16 08:02:13 浏览: 26
以下是简单工厂模式的类示意图:
![简单工厂模式类示意图](https://cdn.jsdelivr.net/gh/wildidea/images/2021/04/23/simple-factory-pattern.png)
以下是简单工厂模式的代码实现:
```python
class Computer:
def __init__(self):
self.name = None
def get_name(self):
return self.name
class WindowsComputer(Computer):
def __init__(self):
self.name = 'Windows'
class MacComputer(Computer):
def __init__(self):
self.name = 'Mac'
class ComputerFactory:
@staticmethod
def create_computer(os_type):
if os_type == 'Windows':
return WindowsComputer()
elif os_type == 'Mac':
return MacComputer()
else:
raise ValueError('Invalid os_type')
if __name__ == '__main__':
windows_computer = ComputerFactory.create_computer('Windows')
print(windows_computer.get_name()) # 输出:Windows
mac_computer = ComputerFactory.create_computer('Mac')
print(mac_computer.get_name()) # 输出:Mac
# 抛出异常
linux_computer = ComputerFactory.create_computer('Linux')
```
以下是简单工厂模式的最终效果图:
```python
# 创建 Windows 电脑
windows_computer = ComputerFactory.create_computer('Windows')
print(windows_computer.get_name()) # 输出:Windows
# 创建 Mac 电脑
mac_computer = ComputerFactory.create_computer('Mac')
print(mac_computer.get_name()) # 输出:Mac
```