链条传动

砥砺前行,不忘初心!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
'''
单例模式:用来创建单个实例(只创建一个实例)
思想:创建实例时进行检查,如果已经创建实例,就返回该实例,如果没有创建,就创建一个实例
'''

class Foo:

    instance = None   #实例对象

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

    #判断实例是否存在(instance是否为真)
    @classmethod
    def get_instance(cls):
        if cls.instance:  #实例存在(instance为真)
            return cls.instance
        else:  #实例不存在,创建
            obj = cls('同一个实例')
            cls.instance = obj
            return obj


#通过get_instance方法来获取实例(实例存在则获取,不存在则创建)
obj1 = Foo.get_instance()  #实例不存在,创建实例
print(obj1)
obj2 = Foo.get_instance()  #实例存在,获取已有实例
print(obj2)
#obj1和obj2获取的是同一个实例(实例内存地址相同)

 

posted on 2016-11-07 13:59  链条君  阅读(121)  评论(0编辑  收藏  举报