单例模式
Posted zenan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。
模式定义:
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。
三个关键点:
1. 该类只能有一个实例;
2. 它必须在类内部自行创建这个实例;
3. 它必须自行向整个系统提供这个实例。
class Singleton(object): _instance = None def __new__(cls, *args, **kw): if not cls._instance: cls._instance = super().__new__(cls, *args, **kw) cls._instance._age = 20 return cls._instance class SingleBoy(Singleton): def grow(self): self._age += 1 @property def age(self): return self._age def __repr__(self): return str(self._age) me = SingleBoy() you = SingleBoy() he = SingleBoy() print(str(id(my))+" "+str(id(you))+" "+str(id(he))) >>> 1258485744472 1258485744472 1258485744472
以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章