美文网首页
分类category&扩展extension

分类category&扩展extension

作者: 滨滨_57b5 | 来源:发表于2018-12-17 17:12 被阅读0次

分类

分类都能做哪写事情?

分类和继承的区别

  • 分类可以实现功能分类的封装
  • 另外分类更符合面向对象的核心原则“开放封闭原则”,对扩展开放,对修改封闭

分类和扩展的区别

  • 扩展可以直接添加属性,分类不能直接添加属性
  • 扩展的方法必须要实现,分类的方法不一定要实现
  • 分类是在运行时才将分类中的方法添加到宿主类上的
  • 为系统类添加分类,扩展是不可以的

分类中可以添加哪些内容?

  • 实例方法
  • 类方法
  • 协议
  • 属性 在分类中声明属性,系统只是默认生成了set和get方法,并没有自动生成实例变量
  • 实例变量/成员变量 不能直接添加,需要通过runtime的关联对象才能添加

扩展

一般用扩展做什么?

  • 声明私有属性
  • 声明私有方法
  • 声明私有成员变量

分类和扩展的区别

  • 扩展是编译时决议的,分类是运行时决议的
  • 扩展只声明不实现,放在宿主类的.m文件中,分类是既声明又实现
  • 不能为系统类添加扩展,可以为系统类添加分类

相关文章

  • 分类category&扩展extension

    分类 分类都能做哪写事情? 为已存在的类添加方法 分解体积庞大的类文件 把Framework的私有方法公开(可以创...

  • iOS Class Extension(类扩展)与Class C

    Class Extension(类扩展) Class Category(分类)

  • 分类和类扩展小结

    1. category 2. Extension Extension 是一种特殊的分类.类扩展与分类相比只少了分类...

  • iOS基础总结理解及相关面试题

    iOS基础 分类(Category)和类扩展(Class Extension)分类(Category)Catego...

  • iOS知识基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • IOS知识基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • 1. iOS面试题基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • iOS面试题-基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • iOS面试题--基础篇

    category 和 extension 的区别 分类有名字,类扩展没有分类名字,是一种特殊的分类 分类只能扩展方...

  • 一些关键字的使用__weak,__block

    1、category 和 extension 的区别分类有名字,类扩展没有分类名字,是一种特殊的分类分类只能扩展方...

网友评论

      本文标题:分类category&扩展extension

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