单例模式+uml类图
时间: 2023-12-28 15:25:45 浏览: 114
单例模式是一种设计模式,它确保一个类只能创建一个对象。在单例模式中,类的实例被限制为一个,并且可以全局访问。这在需要共享资源或限制对象创建的情况下非常有用。
下面是一个使用单例模式的示例代码:
```python
class Singleton:
__instance = None
@staticmethod
def getInstance():
if Singleton.__instance == None:
Singleton()
return Singleton.__instance
def __init__(self):
if Singleton.__instance != None:
raise Exception("This class is a singleton!")
else:
Singleton.__instance = self
# 使用单例模式创建对象
obj1 = Singleton.getInstance()
obj2 = Singleton.getInstance()
print(obj1 is obj2) # 输出:True,obj1和obj2是同一个对象
```
上述代码中,`Singleton`类的`getInstance`方法用于获取类的唯一实例。如果实例不存在,则创建一个新实例并将其存储在`__instance`变量中。如果实例已经存在,则直接返回该实例。
UML类图是一种用于可视化类之间关系的图表。在类图中,可以明确表示类、接口、属性、方法以及类之间的关系。下面是一个使用UML类图表示单例模式的示例:
```
+--+
| Singleton |
+--+
| - __instance: Singleton |
+--+
| + getInstance(): Singleton |
| - __init__() |
+--+
```
在上述UML类图中,`Singleton`类具有一个私有的`__instance`变量,用于存储类的唯一实例。`getInstance`方法用于获取该实例。`__init__`方法是私有的,确保只能通过`getInstance`方法创建实例。
阅读全文