首页 > 代码库 > python 设计模式之 单例模式
python 设计模式之 单例模式
单例模式是做为"全局变量"的替代品出现的。所以它具有全局变量的特点:全局可见、贯穿应用程序的整个生命期,保证在程序运行中,某个类只存在一个实例,所以通常不希望类中的构造函数被调用
python:
class Single(object): instance = None # def __init__(self): pass # def getInstance(self): if Single.instance == None: Single.instance = Single() return Single.instance # def printSelf(self): if Single.instance != None: print Single.instances = Single()s1 = s.getInstance()s2 = s.getInstance()s1.printSelf()s2.printSelf()</span>
C++:
Single.h
ifndef __SINGLE_H#define __SINGLE_Hclass Single{private: static Single *instance; Single();public: static Single* getInstance(); void printSelf();};#endif
Single.cpp
#include "Single.h"#include <iostream>Single* Single::instance = NULL;Single::Single(){}Single* Single::getInstance(){ if (!instance) instance = new Single; return instance;}void Single::printSelf(){ if (instance) std::cout << instance << std::endl;}
#include "Single.h"int main(){ Single::getInstance()->printSelf(); Single *sin = Single::getInstance(); sin->printSelf(); return 0;}
python 设计模式之 单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。