访问控制:protected 之 单元素模式设计
来源:互联网 发布:政府网站域名 编辑:程序博客网 时间:2024/05/22 09:00
protected
在类外只能用公有类成员来访问protected部分中的类成员。而派生类的成员可以直接访问基类的protected成员。因此,对于外部世界来说,protected保护成员的行为与私有成员相似;但对于派生类来说,保护成员的行为与公有成员相似。
(最好对类数据成员采用私有访问控制,而不要使用保护访问控制)
单设计模式
例如,希望有且只有一个类的实例返回给调用程序时,就可以使用单元素模式(Singleton pattern)。这种类的声明如下:
class class_a
{
public:
static class_a* gti();
...
protected:
class_a(){};
private:
...
};
通过将构造函数声明为保护,并省略公有构造函数,可以防止局部实例被创建:
int main(){class_a noCanDo; //not allowed
只能通过公有静态方法gti()来访问类。该方法被调用时,将返回类class_a的实例:
class_a* class_a::gti()
{
static class_a CanDo;
return &CanDo;
}
gti()方法仅在第一次被调用时,创建class_a类的一个实例。以这种方式构造的静态对象一直有效,直到程序终止,此时这种静态对象将自动被释放。
要检索指向这个类的唯一一个实例的指针,只需要调用静态方法gti(),该方法返回单对象的地址:
class_a* pclass_a = class_a::git();
因为静态变量在函数调用结束后仍保存在内存中,所以以后再调用git时,将返回同一个静态对象的地址。
- 访问控制:protected 之 单元素模式设计
- C++访问控制之protected
- PHP 设计模式之单元素模式
- 设计模式之单元素模式与观察者模式
- 访问控制和protected
- php设计模式之单例模式(单元素模式)
- 设计模式-单例模式(单元素模式)
- 访问控制(public .private .protected )
- Java 访问权限控制:protected
- 设计模式之访问模式
- 设计模式之 单例设计模式
- 设计模式之 单例设计模式
- 设计模式之单例设计模式
- 设计模式之-----------单例设计模式
- 设计模式之:单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 读《自己是最好的投资顾问》
- Android学习笔记3-开发过程中一些常用操作
- extend构建组建
- Ext中的事件
- 微软,Google面试题 (21) —— 左旋字符串(循环移位)
- 访问控制:protected 之 单元素模式设计
- 《编程之美》:整数的二进制表示中1的个数
- 今天开始我的异国求职路
- 微软,Google面试题 (22) —— 跳台阶
- java中相对路径,绝对路径问题总结
- Windows API串口编程参考
- NS2路由协议和数据转发
- winform datagridview 绑定
- JS获取URL参数