单例设计模式
-设计模式:是前人工作的总结和提炼,是对某一问题的成熟的解决方案,使用设计模式是为了可重用代码,让代码更容易被他人理解和代码的可靠性
-单例设计模式:
a.目的:让类创建对象,在系统中只有一个唯一的一个实例
b.每一次执行类名返回的对象,内存地址是相同的
Python中的单例设计模式
- 1.定义一个类属性,初始值是None用于记录单例对象的引用(地址)
- 2.重写__new__方法
- 3.判断类属性是否为空对象
- 4.调用父类的super方法,为第一个对象分配空间
- 5.返回类属性保存的对象的引用(地址)
# 记录第一次被创建的引用
instance = None
# 重写分配空间的new方法
def __new__(cls, *args, **kwargs):
# 1.判断类属性是否为空
if cls.instance is None:
# 2.调用父类的方法为第一个对象分配空间
cls.instance = super().__new__(cls)
# 3.return返回类属性中保存的对象的引用
return cls.instance