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

类别和扩展的区别

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

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

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

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

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

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

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

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

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

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

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

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

相关文章

  • 类别(Category)与类扩展 (Extension)的区别

    类别(Category)与类扩展 (Extension)的区别 iOS 类别和扩展(Categories和Exte...

  • 类别和扩展的区别

    ------------类别----------------- 类别中方法的优先级比原来类中的方法高 也就是说,在...

  • 类别和类扩展的区别

    类扩展 (Class Extension也有人称为匿名分类) 作用: . 能为某个类附加额外的属性,成员变量,方法...

  • iOS 踩坑日记(二)

    3. 类别和扩展的区别 扩展不会像类别一样,有独立的实现文件(.m 文件),它的实现依赖于对应类 在类别中添加属性...

  • 继承和扩展、类别的区别

    继承是用来描述类与类之间的关系的。子类继承于父类,拥有父类的属性和方法。 扩展就是向一个已有的类、结构体或枚举类型...

  • 问题[○○○]:类别和类扩展的区别

    category和extensions的不同在于后者可以添加属性。另外后者添加的方法是必须要实现的。extensi...

  • iOS 扩展

    1、扩展和类别语法上的区别很简单,就是类别名省略,只保留括号;2、扩展只是增加原来类的方法与变量的声明,而不包含实...

  • 类别与扩展的区别

    Category在iOS开发中使用非常频繁。尤其是在为系统类进行拓展的时候,我们可以不用继承系统类,直接给系统类添...

  • iOS面试题-常规概念

    简要叙述OC语言的特点 类别的作用?继承、类别和扩展在实现中有何区别? OC中类变量的@protected,@pr...

  • 类别和扩展

    类别 不需要通过增加子类而增加现有类的方法通过类别可以将一个类的方法进行划分,便于维护不能向类别添加实例变量,只能...

网友评论

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

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