2.分类
2.1将一个复杂的类分成若干个模块儿,其中每一个模块儿被称为一个分类
2.2分类的作用是降低耦合度
2.3分类的语法
2.4在主函数中,看到的是一个主类,不会看到分类
2.5分类中不能定义成员变量或属性
2.6可以给没有源代码的类添加分类
3.扩展
3.1 扩展是没有名字的分类
3.2 两种形式
3.2.1 单独写在一个.h文件中,扩展中的成员变量默认是私有的,属性和方法是公有的
3.2.2 将扩展写在主类的.m文件中,此时扩展中的成员变量、属性和方法都是私有的
3.3 与分类的区别
3.3.1 没有.m文件,则扩展中的方法必须写在主类的.m文件中
3.3.2 可以有成员变量或属性,且支持访问权限
3.4 与协议的区别:协议可以被任何类采纳,但扩展只属于主类