zoukankan      html  css  js  c++  java
  • 封装

    封装 (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技巧


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

  • 相关阅读:
    codevs 3641 上帝选人
    codevs 1966 乘法游戏
    codevs 1345 饥饿的奶牛
    codevs 1962 马棚问题--序列型DP
    codevs 1959 拔河比赛--判断背包内刚好装满n/2个物品
    codevs 1297 硬币
    [转载]矩阵取数游戏
    101.金明的预算方案(分组背包)
    105.(并查集结合绝对值最小的01背包)选学霸
    POJ 2528 Mayor's posters(线段树)
  • 原文地址:https://www.cnblogs.com/zhang111/p/11637415.html
Copyright © 2011-2022 走看看