May 11th, 2012, 00:32 | #1 |
Senior Member
注册日期: Jul 2004
帖子: 174
|
封装是设计类的过程? 它不是类的一个特点吗?
封装 (encapsulation) 隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。 封装 (encapsulation) 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。 封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。 封装的大致原则: 1把尽可能多的东西藏起来.对外提供简捷的接口。 2把所有的属性藏起来。 例如,在抽象的基础上,我们可以将时钟的数据和功能封装起来,构成一个时钟类。 按c++的语法,时钟类的声明如下: class Clock { public: //共有成员,外部接口 void SetTime(int NewH,int NewM,int NewS); void ShowTime(); private: //私有成员,外部无法访问 int Hour,Minute,Second; } 技巧 可以看到通过封装使一部分成员充当类与外部的接口,而将其他的成员隐蔽起来,这样就达到了对成员访问权限的合理控制,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作。 它说: " 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。" 所以说: 封装是设计类的过程? |
|
May 11th, 2012, 11:40 | 只看该作者 #6 |
Senior Member
注册日期: Jul 2004
帖子: 174
声望: 0
|
got it. In general, encapsulation is one of the 4 fundamentals of OOP (object-oriented programming). Encapsulation is to hide the variables or something inside a class, preventing unauthorized parties to use. So the public methods like getter and setter access it and the other classes call these methods for accessing. |
|