黑马程序员技术交流社区

标题: 封装 [打印本页]

作者: yuan121    时间: 2015-9-13 09:44
标题: 封装
/-----------------封装:
1.什么是封装:
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式

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

3.封装的原则:
将不需要对外提供的内容都隐藏起来。
把属性都隐藏,提供公共方法对其访问。


4.setter方法的实现
   set方法的书写规范:
4.1 set方法一定是一个对象方法
4.2 set方法一定不能有返回值
4.3 set方法必须以set开头
4.4 set之后跟的是 实例变量去掉下划线,并且首字母大写
4.5 set方法一定有参数,而且参数的类型和实例变量的类型一致
4.6 set方法的形参名 一般是 去掉下环线的实例变量名
4.7 形参名不能和实例变量名同名
4.8 set方法实现中,一定要用形参给实例变量赋值

成员变量: int _age; 的setter方法
-(void)setAge:(int)age{

    _age = age;
}

//调用
[person setAge:10];

get方法书写规范:
1) get方法一定是一个对象方法
2) get方法一定有返回值,返回值的类型和实例变量的类型要一致
3) get方法的方法名 是去掉下环线的实例变量名
4) get方法一定没有参数
5) get方法的实现中,一定是返回实例变量值

成员变量: int _age; 的get方法
-(int)age{
    return _age;
}



setter  (设置/赋值)     设置属性不需要返回值    setter之后   对象的属性的值就被赋值了

get    (获取/取值)      获取对象属性的值(返回实例变量的值)    get之后    就可以拿到对象属性的值


//组合模式了解就可以了
组合模式:把具有相同基类类型的对象组合到树形结构中,以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。


//-----依赖关系:
A对象作为B对象的局部变量或是方法形参的,B依赖与A,这时候我们称A与B之间存在一种依赖关系

人坐车回家   人依赖于车
[person goHome:car];


//-----关联关系:
当一个对象拥有另外一个对象的时候, 当B对象为A对象的成员变量的时候,B对象与A对象之间存在一种关联关系
关联关系是面向对象中最常用一种关
@interface Person : NSObject
{
    Dog *_dog;   //关联关系
   
}

作者: jsh_513    时间: 2015-9-14 21:05
辛苦了辛苦了。。。。。。。。
作者: kylmetz    时间: 2015-9-14 21:09
好的好的,记住了




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