11.5 、类别 Category
来源:互联网 发布:好看的小说知乎2017 编辑:程序博客网 时间:2024/05/17 03:21
1、类别 Category
基本概念
封装是面向对象的一个特征,Objective-C也不例外。
有时我们会碰到这样一种情况,比如我们用第三方类库,随着程序功能的增加,需要在第三方库中的某个类中增加一个小小的方法,这时我们就不必在那个类中做修改或者定义一个子类,只需要在用到那个方法时添加一个该类的类别(category)即可
开源 静态库 .framework
1)在类别中定义的方法,会成为该类的一部分,与其他方法的调用没有区别
2)通过给父类定义类别方法,其子类也会继承这些方法。如果子类添加类别方法,父类则不会拥有子类的类别方法
应用
对现有类的功能进行扩展,比如:可以扩展Cocoa Touch框架中的类
声明私有方法,隐藏类的实现。也可称为延展Extension
对类中的方法归类:方便更新和维护
局限性
无法向类别中,添加新的实例变量,如果想增加实例变量则只能通过定义子类方式
类别中注意不要覆盖现有类的方法,类别中方法优先级高
命名
类名+扩展功能名如:“NSString+Additions”
声明类别格式
@interface 类名(扩展功能名)
方法区
@end
两种写法
类别文件
在类中直接写
0 0
- 11.5 、类别 Category
- category 类别
- 类别category
- 类别---category
- Category(类别)
- Category 类别 -Objective-C
- 也说类别Category
- Category 类别 -Objective-C
- category(类别)一则实例
- ios 类别(category)
- Category 类别 -Objective-C
- Category 类别 知识点整理
- Category 类别 -Objective-C
- Category 类别 -Objective-C
- OC Category(类别)
- 类别(Category)
- OC中的Category类别
- 038.category 分类/类别
- Zookeeper场景实践:(4)命名服务
- 这两天做的一些研究--Android4.x怎么做到不被杀死的Service
- nyoj.111 分数加减法 20141105
- hdu 5091 Beam Cannon(线段树 + 扫描线)
- javaweb-Register方法实现对html操作
- 11.5 、类别 Category
- STL中基本容器string、vector、list、deque、set、map之间的区别
- STL 标准容器的选择
- js代码如何换行
- 图的存储结构(存储、遍历)
- android基础 BroadCastReciver
- 陌生人与富人
- 串口资料
- 动态规划:从新手到专家(关于动态规划算法最精彩的中文描述,没有之一)