A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

求大牛解答一下疑惑?分类是什么?因为之前没有接触过这个概念。

评分

参与人数 1黑马币 +6 收起 理由
贾俊锋 + 6 赞一个!

查看全部评分

3 个回复

正序浏览
分类是对现有类方法的扩展,增加新的方法或者重写父类方法(重写父类方法将导致原有方法不可用),扩展不能增加新的成员变量。对原有类的实例对象影响,即原有类可直接调用分类方法。
继承是对父类的成员变量、方法的继承,可增加成员变量、增加新的父类方法、重写父类方法。继承父类对象时,父类的分类方法也将一并继承。
总结:如果原有类的方法不足以满足开发的需求,需要增加新的方法的时,这个时候使用分类增加类的方法即可。而不需要使用继承,继承将增加代码的复杂度。如果开发中对原有类的属性及方法不能满足业务需求时候,这个时候就需要使用继承。
回复 使用道具 举报
概念很简单 就一句话  分类是给类增加一些方法  不能增加成员变量  在一些大的项目中  可以通过分类来分模块   这样给程序员们提供了很多便利
回复 使用道具 举报
我自己百度了一写关于分类的。里面的总结是这么说的,如下:
总结:
关于分类,我感觉使用在扩展那些你无法看到类的实现代码的类的,你可以为这些类添加扩展函数,可以重载源类中的成员函数,来满足自己的实际需求,但是对于那些你可以看到类的实现、访问的类来说,你则完全没有必要写分类。另外对于那些需要分工合作的工作,也是适合写分类的地方。
另外一点也是需要注意的是:
如果你用分类的方式重载了Cocoa类,那么你的App就有可能同不过苹果的作品审核,因为苹果对这些自定义的修改的要求是极其严格,甚至说是苛刻的。
因此,不建议使用objective-c语言的分类。
详细的可以查看这个链接:
http://blog.csdn.net/braddoris/article/details/24620199
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马