黑马程序员技术交流社区

标题: 封装的概念及原理 [打印本页]

作者: QQ2544    时间: 2015-8-5 23:06
标题: 封装的概念及原理
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。  

封装的好处:  
将变化隔离。(不管里面怎么变,使用者不需要知道)  
便于使用。(使用者只需按照一定的方法使用就可以了)  
提高重用性。(任何人都可以对已封装好的功能进行操作)  
提高安全性。(由于暴露给使用者的只是一些外在的操作环节,而不是里面本质的东西,所以就提高了对他的维护性,也就是安全性)  
  
封装的原则:  
将不需要对外提供的内容都隐藏起来。  
把属性都隐藏,提供公共方法对其访问。  

1、为什么要进行封装?  
page107image3600
不封装的缺点: 当一个类把自己的属性暴露给外部的时候,那么该类就失去对属性的管理权
  
将数据隐藏起来,只能用此类的方法函数才可以访问或者设置数据,不可被外部任意存储是面向 对象设计本质。降低了数据被无用的可能性!  

在OC语言中,使用@interface和@implementation来处理类。  

@interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐 藏在时钟内部的构造实现,把具体的实现封装了起来。


感觉封装就像是给程序安装了一个壳子,内部的实现不给别人看,只给别人留一个操作的接口来进行操作,这样就可以保证内部实现的独立,提高程序的可移植性。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2