读书人

《C++学习札记》【封装】封装性

发布时间: 2012-12-26 14:39:29 作者: rapoo

《C++学习笔记》【封装】封装性
以下程序依靠封装,能够保证需要修改数据时才能修改,不准修改数据时就不能修改。
[例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
===============================================

读书人网 >C++

热点推荐