iOS类目与继承的区别

类目:也称类别,分类。
类别文件的命名:原类的名称 + 扩展标识名
继承:多个类具有相同的实例变量和方法时,考虑使用继承。既子类可以继承父类的相同的特性。面向对象都有的一个特性。

相同点:都是可以重写父类的方法,都是是给一个类进行扩展。

不同点:
1.类目是对方法的扩展,不能添加成员变量。继承可以在原来父类的成员变量基础上,添加新的成员变量。
2.类别只能添加新的方法,不能修改和删除原来的方法。继承可以增加,修改,删除方法。
3.类别不提倡对原有的的方法进行重载。继承可以通过使用super对原来的方法进行重载。
4.类别可以被继承,如果一个父类中定义的类别,那么子类中也会被继承。

只能使用继承,不能使用类别的情况:
1.新扩展的方法与原方法同名,但是还需要使用父类实现。因为使用类别,会覆盖原类的实现。无法访问到原来的方法,类别的方法优先级比较高。
2.扩展类的属性,这个类是无法添加的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 30,104评论 8 265
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,539评论 1 32
  • 忍了便能忍过么?冬日难捱,何日为期? 极尽处茫寞苍凉,白雪纷飞之间独自抖索。踏步于繁华红火的街上,心里...
    b老爷阅读 271评论 0 1
  • 曾经有一段时光,我像大多数爱美又想省钱的姑娘一样,沉溺于网购不可自拔,每天一有时间就上淘宝看一眼,当然“看一眼”的...
    吕星慧阅读 363评论 0 0
  • 在JAVA中如何跳出当前的多重嵌套循环?在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在...
    不羁的木木阅读 669评论 0 50

友情链接更多精彩内容