美文网首页
类别和扩展的区别

类别和扩展的区别

作者: 菜鸟起来 | 来源:发表于2016-08-24 16:44 被阅读0次

    ------------类别-----------------

    类别中方法的优先级比原来类中的方法高

    也就是说,在类别中重写了原来类中的方法,那么类别中的方法会覆盖原来类中的方法

    类别中只能声明方法,不能添加属性变量,在运行时分类中的方法与主类中的方法没有区别

    通常来讲,类别定义在.h文件中,但也可以定义.m文件中,此时类别的方法就变成私有方法

    ------------扩展-----------------

    扩展中可以声明实例变量,可以声明属性

    因为扩展通常定义在主类的.m文件中,所以扩展声明的方法和属性通常是私有的

    ------------两个的区别--------------

    分类是不可以声明实例变量,通常是公开的,文件名是:主类名+分类名.h

    扩展是可以声明实例变量,是私有的,文件名为:主类名_扩展标识.h,在主类的.m文件中#import该头文件

    相关文章

      网友评论

          本文标题:类别和扩展的区别

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