C++ 数据封装


C++ 数据封装

什么是数据封装?

数据封装是一种把数据和支持操作数据的函数包装在一起的技术。这些函数被用来控制对数据的访问。数据封装使得对象的内部状态被保存在对象内部,同时又可以通过对象的公有方法来访问和操作这些数据。

在C++中,可以通过使用类来实现数据封装。类封装了数据以及相关的函数,对外部使用者屏蔽了内部实现的细节。

数据封装的优点

使用数据封装可以实现以下优点:

  1. 数据的安全性:数据被封装在类的私有部分,外部无法直接访问。只有提供公有的访问方法才能访问私有数据。这样避免了其他模块对类数据的随意修改,确保数据的完整性。

  2. 代码的灵活性:一旦数据被封装入类,就可以定制数据的访问方式,可以实现对数据的限制访问等操作。这样使得代码更加灵活,便于维护和复用。

  3. 增强模块化:使用数据封装可以把代码分解成互不干扰的模块,这样不同的开发者可以分散的开发和修改不同的模块,提高开发效率和代码质量。

数据封装示例

下面是一个简单的C++类,该类封装了一个整数,提供了一个公共方法来访问和修改该整数:

#include<iostream>
using namespace std;
 
class Int {
   private:
      int num;
      
   public:
      void setNum(int num) {
         this->num = num;
      }
      
      int getNum() {
         return num;
      }
};
 
int main( ) {
   Int i;
   i.setNum(10);
   cout << "Value of i : " << i.getNum() << endl;
   
   return 0;
}

在上面的示例中,类Int封装了一个整数num。该成员变量num被声明为私有,在类的主体之外不能被访问。类的主体中提供了两个公有方法setNum和getNum,用于设置和获取num变量。

在main函数中,我们创建了一个Int类的对象i,通过setNum方法设置了i的成员变量为10,并通过getNum方法获取到num变量的值。最后我们在控制台输出了i的num值。

通过上面的示例,我们可以看到,使用数据封装可以实现对数据访问的控制和限定,确保应用程序数据的安全性和完整性。