类别Category
给已有的类加上类别以补充方法
可以添加类方法、实例方法、重写基类方法
不可以添加属性、实例变量、同名方法
自行添加getter和setter访问器方法也可以实现属性
命名规范:BLNPoint+Drawing.h BLNPoint+Drawing.m
使用场景
1. 没有源代码时添加方法
2. 特殊场合下增加功能
3. 大型文件分割实现
添加类别
扩展Extension
有类的源代码时添加功能
借口定义在.m文件里implementation前声明,在implementation下实现
可以添加属性、实例变量,改写属性的读写属性readonly改为readwrite(范围只能增加不能减少)
扩展实现的成员只能在.m内部访问,不允许外部访问
用于信息隐藏,外部无需访问,内部实现又需要使用
主接口对外,扩展接口对内