返回   华枫论坛 > ◆ 工作学习◆ > IT交流 > 软件



发表新主题 回复
 
只看楼主 主题工具
旧 May 11th, 2012, 00:32     #1
Georgeyu100
Senior Member
级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时
 
注册日期: Jul 2004
帖子: 174
Georgeyu100 is an unknown quantity at this point
Question 封装是设计类的过程? 它不是类的一个特点吗?

封装 (encapsulation)
  隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。
  封装 (encapsulation)
  封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
  封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。

封装的大致原则:
  1把尽可能多的东西藏起来.对外提供简捷的接口。
  2把所有的属性藏起来。
  例如,在抽象的基础上,我们可以将时钟的数据和功能封装起来,构成一个时钟类。
  按c++的语法,时钟类的声明如下:
  class Clock
  {
  public: //共有成员,外部接口
  void SetTime(int NewH,int NewM,int NewS);
  void ShowTime();
  private: //私有成员,外部无法访问
  int Hour,Minute,Second;
}
技巧
  可以看到通过封装使一部分成员充当类与外部的接口,而将其他的成员隐蔽起来,这样就达到了对成员访问权限的合理控制,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作。

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

所以说: 封装是设计类的过程?
Georgeyu100 当前离线  
回复时引用此帖
旧 May 11th, 2012, 00:56   只看该作者   #2
somedy
不堪盈手赠 还寝梦佳期
级别:31 | 在线时长:1120小时 | 升级还需:32小时级别:31 | 在线时长:1120小时 | 升级还需:32小时级别:31 | 在线时长:1120小时 | 升级还需:32小时
 
somedy 的头像
 
注册日期: Jul 2004
帖子: 864
声望: 794908
somedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond reputesomedy has a reputation beyond repute
默认

搞清楚这些对你写程序有帮助吗

『 吾今落魄邯郸道 欲向先生借枕头 』
somedy 当前离线  
回复时引用此帖
旧 May 11th, 2012, 02:52   只看该作者   #3
concurrent
Member
级别:6 | 在线时长:61小时 | 升级还需:16小时级别:6 | 在线时长:61小时 | 升级还需:16小时
 
concurrent 的头像
 
注册日期: Jan 2011
帖子: 63
声望: 0
concurrent is an unknown quantity at this point
默认

...

此帖于 May 11th, 2012 03:25 被 concurrent 编辑。
concurrent 当前离线  
回复时引用此帖
旧 May 11th, 2012, 10:49   只看该作者   #4
Georgeyu100
Senior Member
级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时
 
注册日期: Jul 2004
帖子: 174
声望: 0
Georgeyu100 is an unknown quantity at this point
默认

yes. As it is its conception, I think that I should be know it clearly.

此帖于 May 11th, 2012 11:10 被 Georgeyu100 编辑。
Georgeyu100 当前离线  
回复时引用此帖
旧 May 11th, 2012, 10:58   只看该作者   #5
googlebot
Senior Member
级别:63 | 在线时长:4291小时 | 升级还需:61小时级别:63 | 在线时长:4291小时 | 升级还需:61小时级别:63 | 在线时长:4291小时 | 升级还需:61小时级别:63 | 在线时长:4291小时 | 升级还需:61小时级别:63 | 在线时长:4291小时 | 升级还需:61小时级别:63 | 在线时长:4291小时 | 升级还需:61小时级别:63 | 在线时长:4291小时 | 升级还需:61小时
 
注册日期: May 2006
帖子: 5,891
积分:4
精华:2
声望: 2095771
googlebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond reputegooglebot has a reputation beyond repute
默认

这是一种c++观念而已,看起来很美,
现实情况是, unix中,大部分还是c,
googlebot 当前离线  
回复时引用此帖
旧 May 11th, 2012, 11:40   只看该作者   #6
Georgeyu100
Senior Member
级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时级别:8 | 在线时长:96小时 | 升级还需:21小时
 
注册日期: Jul 2004
帖子: 174
声望: 0
Georgeyu100 is an unknown quantity at this point
默认

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.
Georgeyu100 当前离线  
回复时引用此帖
发表新主题 回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为格林尼治时间 -4。现在的时间是 14:20

请尊重文章原创者,转帖请注明来源及原作者。
凡是本站用户自行发布的任何信息,皆不代表本站的立场,
华枫网站不确保各类信息的正确性和可靠性,也不承担由此而导致的任何直接或间接损失以及任何法律责任。

Copyright © 1999-2024 Chinasmile