OC中继承和类别的区别:
联系:
可以给一个类扩展新的方法,或修改已用的方法;
区别:
(1)继承修改的方法不会对父类原方法产生影响;类别修改的方法相当于替换了原有方法;
(2)以viewController为例,继承一个ViewController相当于建立一个新的页面;而给一个ViewController添加类别用于增加或修改原ViewController上的方法;
(3)类别支持开发人员针对自己构建的类,把相关的方法分组到多个单独的文件中,对于大型而复杂的类,这有助于提高 可维护性,并简化单个源文件的管理;
(4)针对系统提供的一些类,例如:NSString,NSArray,NSNumber等类,系统本身不提倡使用继承去扩展方法,因为这些类内部实现对继承有所限制,所以最后使用类别进行方法扩展;
(5)理论上类别不能新增属性。