关于类的数据成员的访问权限设计的一些思考
来源:互联网 发布:感应垃圾桶 知乎 编辑:程序博客网 时间:2024/05/23 01:21
作者:朱金灿
来源:http://blog.csdn.net/clever101
在C++的类的数据成员的访问权限分为三种:public、protect和private。private表示自己本类私有,不允许其它类的直接访问;protected表示自己及子孙可以访问,其它族类不允许直接访问,我们可以把它比作是本家族的共同财富;public表示向全社会都公开的,任何类都可以直接访问的。
一般而言,出于对数据成员封装性的考虑,我们往往把数据成员设置为protect和private的访问权限。但是最近我发现,将一些类的数据成员设为public的访问权限也是有必要的。那么在什么时候将一些类的数据成员设为public的访问权限呢?
我们知道在C++的代码重用中有两种形式:一种是通过类的继承,另一种通过类的组合。类的组合就是在一个类对象的数据成员的类型是另一个类对象的类型,示例代码如下:
在这种情况下我倾向于把A类的数据成员m_Data设置为public的访问权限。当然在A类提供一个获取数据B的方法也是可以达到上面效果的,代码如下:
但我认为这种写法实在不如第一种写法好。第一个理由是不够优雅,为了设置B的值我们还得加上一个SetB的方法,这样就形成我的同事所说的"VB风格"的C++代码。第二个理由我发现这种类的组合主要是接口的重用,对类数据的封装主要防止的是对类数据的随意修改,但是开发人员对类的一个复合类型(如类类型或结构体类型)的数据成员的随意修改我觉得可能性比较小(相对于如int、float等简单的数据类型的数据成员而言)。这样倒不如直接将m_Data设为public访问权限外部使用起来更为方便。
- 关于类的数据成员的访问权限设计的一些思考
- 关于Java访问权限的一些思考与总结
- 写程序作业时发现的一些关于类的成员访问权限神奇的东西
- 关于数据访问的思考
- 关于类的成员与继承的一些思考
- 关于类的成员的访问权限的题目
- 类成员的访问权限
- 成员的访问权限
- J2EE中关于权限设计的思考
- 关于系统权限设计的思考
- 类的成员变量的访问权限
- 关于面向对象设计的一些思考
- 关于设计评审的一些思考
- 关于设计评审的一些思考
- 关于接口设计的一些思考
- 关于prometheus设计的一些思考
- 关于大数据思维的一些思考
- 类和类成员的访问权限
- linux命令使用初步
- linux 五笔安装攻略
- C语言宏定义##连接符和#符的使用
- DirectX中常用的宏定义
- 织梦中获得当前第几条数据(查询列表获得当前行数)
- 关于类的数据成员的访问权限设计的一些思考
- 期待放假
- define的用法(含少见的用法)
- 创建数据库
- myEclipse-JSP默认打开方式:
- 树状数组
- 在MyEclipse中添加外部的Tomcat:
- VC利用ADO操作Excel
- 操作数据库