封装

封装

封装 (encapsulation)

  隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。

  封装 (encapsulation)

  封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

  封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

  封装在网络编程里面的意思, 当应用程序用TCP传送数据时,数据被送入协议栈中,然后逐个通过每一层直到被当作一串比特流送入网络,其中每一层对收到的数据都要增加一些首部。

2原则


  1把尽可能多的东*起来.对外提供简捷的接口。

  2把所有的属性藏起来。

  例如,在抽象的基础上,我们可以将时钟的数据和功能封装起来,构成一个时钟类。

  按c++的语法,时钟类的声明如下:

  class Clock

  {

  public: //共有成员,外部接口

  void SetTime(int NewH,int NewM,int NewS);

  void ShowTime();

  private: //私有成员,外部无法访问

  int Hour,Minute,Second;

  }

3技巧


  可以看到通过封装使一部分成员充当类与外部的接口,而将其他的成员隐蔽起来,这样就达到了对成员访问权限的合理控制,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作。