码迷,mamicode.com
首页 > 其他好文 > 详细

单例模式{设计原理}

时间:2017-05-16 10:52:33      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:属性   使用   没有   __init__   共享   asa   单例模式   rgs   div   

class Cpp(object):
  """单例模式实现"""
def __new__(cls, *args, **kwargs): if not hasattr(Cpp, "_instance"): cls._instance = super(Cpp,cls).__new__(cls, *args, **kwargs) return cls._instance

如果没有创建对象,就创建对象_instance,如果类里面有_instance实例,直接使用,不再次创建,实现了创建唯一一个实例,即单例模式。

一、 __new__(cls,*args, **kwargs)方法是创建一个实例的方法,而__init__(self,*args, **kwargs),是对__new__方法创建的实例进行初始化操作,增加实例的属性。

二、类的属性,是所有对象共享的,即增加一个类的属性时,此时所有的对象都会增加这个类的对象。

单例模式{设计原理}

标签:属性   使用   没有   __init__   共享   asa   单例模式   rgs   div   

原文地址:http://www.cnblogs.com/by2016/p/6859908.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!