提到设计模式,我们可能会想到的一个比较常用到的一个,那便是单例模式。
我们如果要对一个类设计其为单例模式,那么需要满足如下特点:
1.在该类中只能有一个单例;
2.这个单例必须自行创建;
3.必须向整个系统中提供该单例。
好,那么就来看看一个例子,这样会比较容易理解一些。(这里采用C++语言来编写)
我们创建一个C++工程,然后新建一个main.cpp,实现如下:
#include<iostream>
using namespace std;
class Singleton
{
public:
static Singleton *getInstance()
{
if (nullptr == m_singleton)
{
m_singleton = new Singleton();
}
return m_singleton;
}
private:
Singleton()
{
}
static Singleton *m_singleton;
};
//静态实例初始化
Singleton *Singleton::m_singleton = nullptr;
int main()
{
Singleton *s1, *s2;
if (s1->getInstance() == s2->getInstance())
{
cout << "s1与s2同一实例!" << endl;
}
else
{
cout << "s1与s2不是同一实例!" << endl;
}
return 0;
}实现的过程简单概述一下:
对于这个单例类:
1.该类的构造方法需要提供为私有构造方法Singleton();
2.为该类定义一个静态私有对象m_singleton,作为该类的唯一实例对象;
3.最后定义一个创建或获取这个私有对象的方法getInstance()。
然后在主函数中定义两个Singleton实例对象s1,s2。来进行测试,结果显然为同一实例,如下图所示:
在做项目的过程中,单例模式还是起着一定的作用的。具体的就不多说了以上就是单例模式。希望对读者有所帮助!
902



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



