封装将数据和将数据处理为单个组件并保护它们免受外界干扰的方法结合在一起。本质上,封装涉及捆绑数据以及使用数据的功能。数据封装导致非常重要的数据隐藏概念。
C ++中的封装是使用用户定义的数据类型的类实现的。这些类包含数据类型以及绑定在一起的方法。
给出了使用类表示C ++封装的程序,如下所示。
#include <iostream> using namespace std; class EncapsulationDemo { private: int length, breath, height; public: void setValues(int l, int b,int h) { length = l; breath = b; height = h; } void calcVolume() { cout<<"Length = " << length << endl; cout<<"Breath = " << breath << endl; cout<<"Height = " << height << endl; cout<<"Volume = " << length*breath*height << endl; } }; int main() { EncapsulationDemo obj; obj.setValues(5, 3, 2); obj.calcVolume(); return 0; }
输出结果
Length = 5 Breath = 3 Height = 2 Volume = 30
在上面的程序中,变量和方法包装在一个单元中,即类Encapsulation。因此,该程序演示了封装的概念。
封装类中的长度,宽度和高度是私有变量。有一些公共函数可以初始化这些变量,还可以通过将长度,宽度和高度相乘来计算体积。为此的代码段如下。
class Encapsulation { private: int length, breadth, height; public: void setValues(int l, int b,int h) { length = l; breadth = b; height = h; } void calcVolume() { cout<<"Length = " << length << endl; cout<<"Breadth = " << breadth << endl; cout<<"Height = " << height << endl; cout<<"Volume = " << length*breadth*height << endl; } };
在函数中main()
,首先定义了封装类型的对象。然后setValues()
使用值5、3和2调用该函数。最后,使用函数显示这些值和音量calcVolume()
。为此的代码段如下。
Encapsulation obj; obj.setValues(5, 3, 2); obj.calcVolume();