#coding:utf-8
class Sing(object):
def __init__():
"disable the __init__ method"
__inst = None # make it so-called private
@staticmethod
def getInst():
if not Sing.__inst:
Sing.__inst = object.__new__(Sing)
return Sing.__inst
name = 'myname'
def GetName(self):
return self.name
def SetName(self, name = ''):
if name != '':
self.name = name
if __name__ =='__main__':
print __name__
gcb = Sing.getInst()
print gcb, gcb.GetName()
gcb.SetName('new name')
gcb1 = Sing.getInst()
print gcb1, gcb1.GetName()
本文介绍了一种使用Python实现的单例模式方法。通过定义一个特殊的getInst静态方法来获取单例实例,并禁用默认的__init__构造方法防止多次实例化。文章展示了如何创建并设置单例对象的名称属性。
364

被折叠的 条评论
为什么被折叠?



