黑马程序员技术交流社区
标题:
什么是 objective-c 的分类?它和继承的区别是什么?
[打印本页]
作者:
幸福弯弯转
时间:
2015-3-8 12:01
标题:
什么是 objective-c 的分类?它和继承的区别是什么?
求大牛解答一下疑惑?分类是什么?因为之前没有接触过这个概念。
作者:
幸福弯弯转
时间:
2015-3-8 12:33
我自己百度了一写关于分类的。里面的总结是这么说的,如下:
总结:
关于分类,我感觉使用在扩展那些你无法看到类的实现代码的类的,你可以为这些类添加扩展函数,可以重载源类中的成员函数,来满足自己的实际需求,但是对于那些你可以看到类的实现、访问的类来说,你则完全没有必要写分类。另外对于那些需要分工合作的工作,也是适合写分类的地方。
另外一点也是需要注意的是:
如果你用分类的方式重载了Cocoa类,那么你的App就有可能同不过苹果的作品审核,因为苹果对这些自定义的修改的要求是极其严格,甚至说是苛刻的。
因此,不建议使用objective-c语言的分类。
详细的可以查看这个链接:
http://blog.csdn.net/braddoris/article/details/24620199
作者:
huhanze
时间:
2015-3-8 17:31
概念很简单 就一句话 分类是给类增加一些方法 不能增加成员变量 在一些大的项目中 可以通过分类来分模块 这样给程序员们提供了很多便利
作者:
vitanie
时间:
2015-3-8 17:56
分类是对现有类方法的扩展,增加新的方法或者重写父类方法(重写父类方法将导致原有方法不可用),扩展不能增加新的成员变量。对原有类的实例对象影响,即原有类可直接调用分类方法。
继承是对父类的成员变量、方法的继承,可增加成员变量、增加新的父类方法、重写父类方法。继承父类对象时,父类的分类方法也将一并继承。
总结:如果原有类的方法不足以满足开发的需求,需要增加新的方法的时,这个时候使用分类增加类的方法即可。而不需要使用继承,继承将增加代码的复杂度。如果开发中对原有类的属性及方法不能满足业务需求时候,这个时候就需要使用继承。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2