码迷,mamicode.com
首页 > 其他好文 > 详细

扩展方法为什么用分类不用子类

时间:2015-03-04 12:55:18      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

刚才在看category, 想到分类可以用来添加方法,子类也可以用来添加方法,子类还可以添加实例变量,不是比分类更好吗,为啥还要使用分类?

设想一个场景:想给系统类比如NSString新添加一个方法,而这个方法在整个项目中会大量用到,这时候如果使用子类A来添加这个方法,那么其他NSString的子类想使用这个方法,必须继承子类A,才能使用这个方法。但是有时候我们并不想继承子类A,分类的使用优势这时候出来了。

     使用category给NSString新添加一个方法,其他NSString的子类想使用这个方法,直接继承NSString,并引用分类就可以使用了 !

  分类通常作为一种组织框架代码的工具来使用。

    查了下资料,介绍分类的用途:

1、在不创建继承类的情况下实现对已有类的扩展;

2、简化类的开发工作。例如,当一个类需要多个程序员协同开发时,分类可以将同一个类根据用途分别放在不同的源文件中,从而便于程序员独立开发相应的方法集合;

3、将常用的相关方法分组;

4、在没有源代码的情况下可以用来修复bug

扩展方法为什么用分类不用子类

标签:

原文地址:http://www.cnblogs.com/tandaxia/p/4312953.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!