美文网首页
iOS类目与继承的区别

iOS类目与继承的区别

作者: RichardZhao | 来源:发表于2018-10-22 19:13 被阅读0次

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

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

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

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

    相关文章

      网友评论

          本文标题:iOS类目与继承的区别

          本文链接:https://www.haomeiwen.com/subject/pevwzftx.html