请用单例模式模拟大臣向皇帝进言的过程
时间: 2024-02-26 20:55:44 浏览: 24
好的,我可以用单例模式来模拟大臣向皇帝进言的过程。具体实现如下:
```python
class Minister:
__instance = None # 私有类变量,用于保存单例对象
def __init__(self):
if Minister.__instance is None:
Minister.__instance = self
else:
raise Exception("该类只能有一个实例")
@staticmethod
def get_instance():
if not Minister.__instance:
Minister()
return Minister.__instance
def speak(self, words):
print(f"大臣进言:{words}")
# 测试代码
minister1 = Minister.get_instance()
minister1.speak("臣愿奉陪到底")
minister2 = Minister.get_instance()
minister2.speak("陛下,国势日下,请速速处理")
# Output:
# 大臣进言:臣愿奉陪到底
# 大臣进言:陛下,国势日下,请速速处理
```
在这个示例中,`Minister` 类使用了单例模式,确保只有一个实例对象。通过 `get_instance` 静态方法获取 `Minister` 类的实例对象。如果该类已经有实例对象,则返回该实例对象,否则创建一个新的实例对象并返回。每个实例对象都可以调用 `speak` 方法,用于向皇帝进言。