首页 > 其他 > 详细

程序设计模式

时间:2019-09-14 13:49:03      阅读:37      评论:0      收藏:0      [点我收藏+]

设计模式

23个设计模式 - 宏观

单例模式(Singleton mode)

# 两个实例
class A:
    pass

a1 = A()
a2 = A()
print(a1)
print(a2)
# 结果
<__main__.A object at 0x01FE0890>
<__main__.A object at 0x01FE07F0>
# 两个不同的内存地址,相当于创建两个实例

始终只创建一个实例

不管创建多少个对象,都只是一个实例

python创建 单例模式 代码

class Singleton:
    __instance = None
    def __new__(cls,*args,**kwargs):
        if not cls.__instance:
            cls.__instance = object.__new__(cls) # 开辟一块空间
        return cls.__instance

    def __init__(self,name):
        self.name = name

obj1 = Singleton('alex')
obj2 = Singleton('mhy')
print(obj1)
print(obj2)

# 结果 
<__main__.Singleton object at 0x02FCBEF0>
<__main__.Singleton object at 0x02FCBEF0>

# 两个对象都是同一个内存地址,也就相当于不管创建多少个对象,都是同一个实例

程序设计模式

原文:https://www.cnblogs.com/Hybb/p/11518907.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!