继承与类别的区别

联系:可以给一个类拓展新的方法,或修改已有的方法

区别:1、继承修改的方法不会对父类原方法产生影响;类别修改的方法相当于替换了原有方法。

2、以viewController举例,继承一个viewController相当于建立一个新的页面;而给一个viewController添加类别用于增加或修改原viewcontroller上的方法。

3、类别支持开发人员针对自己构建的类,把相关的方法分组到多个单独的文件中,对于大型而复杂的类,这有助于提高可维护性,并简化单个源文件的管理。

4、针对系统提供的一些类,例如:NSString,NSArray,NSNumber等类,系统本身不提倡使用继承取拓展方法,因为这些类内部实现对继承有所限制,所以最后使用类别的方法进行拓展。

5、理论上类别不能增加新属性。

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

推荐阅读更多精彩内容

  • 在iOS 开发中,经常用到继承和类别(Categories),二者有着相似之处,也有不同点,那怎么选择使用呢。 1...
    swordch阅读 3,751评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,925评论 25 709
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,291评论 30 472
  • 有没有那么一本书让你惦念不忘?有没有那么一个角色让你倍感神奇?有没有那个故事让你大呼过瘾?有没有那么一个人物成为一...
    玩英语阅读 3,142评论 0 4
  • 为什么孩子会无视父母的话?中枪了吗?[呲牙]
    根本源阅读 1,020评论 0 0