C++数据域封装
来源:互联网 发布:仿糗事百科源码 编辑:程序博客网 时间:2024/06/09 16:18
Data Field Encapsulation (数据域封装)
class Circle { //数据域采用public的形式有两个问题public: //First,data may be tampered (数据会被类外的方法篡改) double radius; //Second,it makes the class difficult to maintain //and vulnerable to bugs (库难于维护) //....};//main circle1.radius = 5; //此处radius被篡改
改善
将 数据 改作私有
class Circle {private: //类中的函数依然可以访问这个数据 double radius;public: Circle(); //.....}
【Accessor and Mutator(访问器和更改器)】【getter/setter 应该在类的public中】
To read/write private data,we need get/set function(为了读写私有数据,需要get/set function)
get function is referred to as a getter
set function is referred to as a setter
Signature of get function (General form)(get函数的一般原型)
returnType getPropertyName( )
Signature of get function (Bool type) (布尔型get函数的原型)
bool isPropertyName()
Signature of set function(set 函数的原型)
void setPropertyName(dataType propertyValue)
//Circle2.hclass Circle{public: Circle(); Circle(double); double getArea(); double getRadius(); //以让外部访问 void setRadius(double); //以让外部改变private: double radius_;}
//Circle2.cppdouble Circle::getRadius(){ return radius_;}void Circle::setRadius(double newRadius){ radius_ = (newRadius >= 0) ? newRadius : 0;}
0 0
- c语言数据封装
- 【C++】数据封装
- C++数据域封装
- 用C语言封装数据与方法
- 用C语言封装数据与方法
- 用C语言封装数据与方法
- 数据封装和处理--C语言
- java 17:数据域封装
- 数据封装
- 数据封装
- 数据封装
- 数据封装
- 在C中实现对struct内部数据的封装
- C 语言中实现数据与方法的封装
- C 语言中实现数据与方法的封装
- 在C语言怎样对数据和操作的封装
- C#--Winfrom-UI中封装数据并提交到数据库
- 使用C语言将pcm数据封装成wav文件
- Android Shape属性介绍[图文]
- Mongodb 稀疏索引 sparse
- 外包模式
- 外部内部排序,稳定性
- ubuntu 14.04 boot into text mode
- C++数据域封装
- [UVA227]Puzzle
- 程序员的年龄天花板
- 神经网络的表达式 机器学习基础(3)
- 如何解决VS2013中在汉字下面会出现红线的问题
- InnoDB的多版本一致性读的实现
- java 汉字转拼音
- Innodb事务隔离级别
- Browserify —— 利用Node.js实现JS模块化加载