分类 类扩展 继承 协议 委托

分类(Category)

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

类扩展(Extensions)

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

协议(Protocol)

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

委托(delegate)

  • 主要用于解耦

类继承(Inherit)

  • 能修改方法 添加实例变量
  • 产生了新类
  • 同名方法,分类的优先级高
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch...
    扶光启玄阅读 5,221评论 0 13
  • 重点掌握 3 类对象和方法 对象就是一个物体 类的独特存在就是一个实例,对实例进行操作叫做方法。方法可以应用于类或...
    Coder大雄阅读 1,402评论 0 2
  • 1. 使用 #import 相对c的 include 是防止头文件的重复导入 2. NSLog 相对于 print...
    迎风起飞的猪阅读 2,001评论 6 9
  • 1.RxJava概念及原理 RxJava – Reactive Extensions for the JVM – ...
    Gago阅读 1,203评论 0 0
  • 1、 黄小旭说,她喜欢上了新搬来的邻居。 我差点老泪纵横。这丫头可不是一个轻易交出心的主,上一段恋情还是在四年前。...
    草言阅读 384评论 0 0

友情链接更多精彩内容