OC中继承和类别的区别:

OC中继承和类别的区别:

联系:

可以给一个类扩展新的方法,或修改已用的方法;

区别:

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容