以下程序依靠封装,能够保证需要修改数据时才能修改,不准修改数据时就不能修改。
[例1]使用封装以便保护数据
/* Results:
6
36 */
从以上程序看出,不允许外部函数(如主函数main( ))等直接访问(读取或修改)class integ中的数据成员j,而必须通过调用类class integ的成员函数read( ),才能读取j。如需求其平方值,则须调用成员函数sq( ),但这些函数仍然无法改变数据j。
封装是指将对象的属性(attribute)(或称数据内容)和作用于这些属性上的操作(operation)(或称函数、行为或服务)集合包装在一起,组成为一个实体。此实体称为“类”。
封装具有以下特点:
1. 用户无法访问所有私有数据和了解函数细节(即函数如何提供服务的细节,也即函数定义)。
2. 用户只须知道函数接口部分所提供的操作功能,即可根据这些操作功能来调用函数,从而访问私有数据。
===============================================
未完待续,转载时请表明出处:http://www.cofftech.com/thread-1386-1-1.html
===============================================
[例1]使用封装以便保护数据
#include <iostream.h>
class integ //用户建立一个类,以便封装
{
int j; //被保护的数据
public:
integ( ) { j = 6; } //构造函数
int sq() { return j*j; } //求平方的函数
int read() { return j; } //读数据的函数
};
void main()
{
integ obj; //建立对象并初始化
cout << obj.read() << endl; //读数据
cout << obj.sq( ) << endl; //读平方值
}
/* Results:
6
36 */
从以上程序看出,不允许外部函数(如主函数main( ))等直接访问(读取或修改)class integ中的数据成员j,而必须通过调用类class integ的成员函数read( ),才能读取j。如需求其平方值,则须调用成员函数sq( ),但这些函数仍然无法改变数据j。
封装是指将对象的属性(attribute)(或称数据内容)和作用于这些属性上的操作(operation)(或称函数、行为或服务)集合包装在一起,组成为一个实体。此实体称为“类”。
封装具有以下特点:
1. 用户无法访问所有私有数据和了解函数细节(即函数如何提供服务的细节,也即函数定义)。
2. 用户只须知道函数接口部分所提供的操作功能,即可根据这些操作功能来调用函数,从而访问私有数据。
===============================================
未完待续,转载时请表明出处:http://www.cofftech.com/thread-1386-1-1.html
===============================================