1. 分别描述类别(categories)和延展(extensions)是什么?以及两者的区别?继承和类别在实现中有何区别?为什么Category只能为对象添加方法,却不能添加成员变量?
答:考虑类目比继承的优点
类别是把类的实现方法分散到不同的文件中 也可以给类扩展新方法
延展是给类添加私有方法 只为自己类所见 所使用
继承可以扩展实例变量 而类别不能
类别如果可以添加成员变量 就跟继承没什么两样了 而且在上线的项目更新中 用类别笔继承更能维护项目的稳定性