美文网首页
2018-05-25

2018-05-25

作者: helloyue | 来源:发表于2018-05-25 10:43 被阅读0次

    在ios中,给类添加方法有两种方式:继承和类别。

    1. 继承

    继承时面向对象的三大特性之一,子类会继承父类的所有方法和属性。

    2 类别

    类别(其实我更喜欢翻译为分类)是oc的特性,可以在不改变原类及继承父类的前提下,实现对类方法的扩展。

    既然继承和类别都可以扩展类方法,那类别存在的理由是什么呢?

    1. 不改变原类的条件下,想类添加方法,这点继承做不到。

    2. 可以把相关的方法分组到多个单独的文件中,便于管理(“分类”)。

    这样是很方便的,所以可以很多项目都可以看大分类的使用。

    当然,分类也有他的局限:如果扩展方法名和原类名相同,则会覆盖掉原类的方法,这是要注意的,还一个是分类无法扩展类的属性。

    相关文章

      网友评论

          本文标题:2018-05-25

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