Day_13_PM_ Singleton_Pattern
# 设计模式: 23种
# 工厂模式, 单例模式, 代理模式, 适配器模式, 装饰模式, ...
# 扩展:单例模式
# import math
# import math
# cocos2dx
# 导演类: 单例
# 单例模式: 让类只创建一个对象
class Person:
# init:初始化时调用
def __init__(self, name):
print('__init__')
self.name = name
# 类属性
isntance = None
# new: 创建对象时调用
@classmethod
def __new__(cls, *args, **kwargs):
print('__n新建对象__')
if cls.instance == None:
print('----新建对象----')
# 新建对象
cls.instance = super().__new__(cls)
return cls.instance
# 对象
p1 = Person('李四')
p2 = Person('王五')
p3 = Person('赵六')
print(p1 == p2)
print(p2 == p3)