封装的步骤:定义设置实例变量(setter)方法和访问实例变量(getter)方法
set方法的作用:为外界提供一个统一的设置成员变量的方法。
命名规范:
1)对象方法名称必须以set开头
2)set后面跟成员变量的名称,首字母大写-age --->setAge
3)返回值一定是void
4)一定要接收一个形参,而且形参类型一定要和成员变量类型一致
5)形参名不能和成员名一样,一般是去掉下划线的成员名(苹果官方推荐成员名加_)
6)必须是对象方法
7)set方法实现中一定要用形参给实例变量赋值
set的优势:
1)不让数据暴露在外边,保证了数据的安全性
2)对设置的数据进行过滤
给每一个成员变量设置两个方法:设置变量的方法(set),获取变量值的方法(get)
getter方法的规范:
1)也是一个对象方法
2)一定有返回值,返回值类型和成员变量名一致
3)方法名是去掉下划线 的成员变量名
4)一定没有参数
5)get方法在实现中,一定是返回实例变量值
对象和对象之间的关系:
1)组合关系(整体和部分之间的关系 例:一串葡萄)
2)依赖关系
A对象作为方法B的局部变量或者形参,B依赖与A。
耦合度:当修改一个对象的时候,对另一个对象的影响程度。
低耦合:当修改一个对象对其他对象影响比较小
高内聚:一个对象仅仅做自己相关的事
3)关联关系(Hasa关系)
当一个对象拥有另一个对象的时候
当B对象是A对象的成员变量的时候,B对象与A对象存在一种关联关系
方法的重载:(OC中没有方法的重载)
一个类中定义了多个同名的方法,每个方法具有不同的参数类型和参数个数
OC中static关键字的使用:
1)可以使局部变量延长生命周期
2)变为静态变量,位于程序的全局数据区
3)若作为全局变量,可将声明放到实现文件的开始部分
常见误区:
1)在定义成员变量时,设置为static(C语言中,没有初始化的静态变量存在Bss段,如果初始化了,就存在数据区)
2)不能用static修饰方法
static定义静态全局变量只能在当前文件中使用(C与OC相同)
|
|