美文网首页OC
分类 类扩展 继承 协议 委托

分类 类扩展 继承 协议 委托

作者: CoderShmily | 来源:发表于2015-09-17 10:40 被阅读246次

分类(Category)

  • 只能扩展方法(随便.m文件)
  • 声明的@property只会生成getter setter方法的声明
  • 不产生新类,不修改原类
  • 同名方法,分类的优先级高
    类别主要有3个作用:
    (1)将类的实现分散到多个不同文件或多个不同框架中。
    (2)创建对私有方法的前向引用。(类不声明但实现方法有警告,若在分类中声明一下就消除警告)
    (3)向对象添加非正式协议。(括号是非正式协议,尖括号是正式协议) 非正式协议的方法可以不实现

类扩展(Extensions)

  • 声明的方法必须实现(在类的.m文件中)
  • 可以添加实例变量
  • 不产生新类
  • 匿名(私有)的分类

协议(Protocol)

  • 声明的@property只会生成getter setter方法的声明
  • 只声明方法,由代理实现方法
  • 支持多继承

委托(delegate)

  • 主要用于解耦

类继承(Inherit)

  • 能修改方法 添加实例变量
  • 产生了新类
  • 同名方法,分类的优先级高

相关文章

  • 分类 类扩展 继承 协议 委托

    分类(Category) 只能扩展方法(随便.m文件) 声明的@property只会生成getter setter...

  • iOS OC/Swift 知识点杂烩(一)

    分类(category)、类的扩展(extension)、协议(protocol)特点及应用场景 分类特点 分类是...

  • 分类(Category)

    1. 继承VS分类 继承:可以用来扩展一个类,不足的地方在于高耦合性 分类:也可以,只能扩展一个类的方法,并不能在...

  • iOS中分类和继承的区别

    在OC中,扩展一个类的方式有两种:继承与分类。 继承与分类最大的区别是,一般情况下,分类不能扩展属...

  • Kotlin扩展

    扩展函数 Kotlin中要扩展一个类的功能,除了使用继承(直接继承或继承一个接口使用委托)外,更便捷的方式是为该类...

  • 分类、类扩展与继承

    在OC中,扩展一个类的方式有两种,继承和分类。 分类(Category) 概念 分类(Category),是OC中...

  • swift扩展

    扩展 Swift中的扩展,有点类似于OC中的分类(Category) 扩展作用 扩展可以为枚举、结构体、类、协议添...

  • iOS开发——OC篇&OC高级语法

    iOS开发高级语法之分类,拓展,协议,代码块详解 一:分类 什么是分类Category? 分类就是类的补充和扩展部...

  • swift协议与委托的区别

    委托与协议的关键字都是protocol ,但要注意委托代理 需要协议继承AnyObject

  • OC-关联对象

    类扩展和分类 category:类别、分类用来给类增加方法、属性、协议不能增加成员变量,在分类的结构体中并没有存储...

网友评论

    本文标题:分类 类扩展 继承 协议 委托

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