GeekBand OC 12. 类别与扩展

类别Category

给已有的类加上类别以补充方法

可以添加类方法、实例方法、重写基类方法

不可以添加属性、实例变量、同名方法

自行添加getter和setter访问器方法也可以实现属性

命名规范:BLNPoint+Drawing.h  BLNPoint+Drawing.m

使用场景

1. 没有源代码时添加方法

2. 特殊场合下增加功能

3. 大型文件分割实现

添加类别


扩展Extension

有类的源代码时添加功能

借口定义在.m文件里implementation前声明,在implementation下实现

可以添加属性、实例变量,改写属性的读写属性readonly改为readwrite(范围只能增加不能减少)

扩展实现的成员只能在.m内部访问,不允许外部访问

用于信息隐藏,外部无需访问,内部实现又需要使用

主接口对外,扩展接口对内

你可能感兴趣的:(GeekBand OC 12. 类别与扩展)