四十一、类别 和 协议(五)非正式协议
来源:互联网 发布:vb编程题及答案 编辑:程序博客网 时间:2024/06/06 03:57
也许 你 从各种渠道 听说过 非正式协议这个概念。非正式协议 实际上 指的是 一个类别。这个类别当中 列举了 一系列的措施,而 这些措施 并没有包含 具体内容。大家 都 知道 所有类型的物件 都 包含 在最底层那类物件当中,所以 非正式协议 是 为最底层那类物件制定的,这样 所有类型的物件 都可以遵循。因此 非正式协议 又称为 抽象协议。
如果 你 查看 <NSScriptWhoseTests.h>这个头文件,你 就能找到 这样的非正式协议:
这里的NSComparisonMethods这个类别 就属于 NSObject这类物件。这里面的措施 可以当作 协议的一部分 加以实施。一类物件的非正式协议 并不包含 每项措施的具体内容,而 包含在这类物件中的另外一类物件 则需要 在它们的接口部分 列举出 这些措施,并且 在实施部分 写出 这些措施的具体内容。与 正式协议 不同,编译器 并不强制要求 你 实施 非正式协议中的措施。
如果 一类物件 遵循 一项正式协议,那么 这项协议中所有必要的措施 都必须 适用于 这类物件。如果 一类物件 遵循 一项非正式协议,这项协议中的措施 并不一定要 全部 适用于 这类物件。编译器 也不会检查 一类物件 是否遵循 非正式协议,但是 运行系统 会检查 这一点。
先前的博文中提到的@optional命令 和 非正式协议的作用 是 一样的。
- 四十一、类别 和 协议(五)非正式协议
- Objective-C中的类别和非正式协议
- Objective-C中的类别和非正式协议
- 类别,非正式协议,正式协议
- OC中类别的向前引用和非正式协议
- 类别(Category)的作用(三)---添加非正式协议
- 协议分非正式协议和正式协议
- 协议分非正式协议和正式协议
- 非正式协议
- 三十七、类别 和 协议(一)类别
- 三十九、类别 和 协议(三)协议
- 四十、类别 和 协议(四)协议
- OC的正式协议和非正式协议
- OC正式协议和非正式协议
- OC正式协议和非正式协议
- 非正式协议和正式协议的区别
- objective-c中对类方法的扩展:类别,以及非正式协议(十)
- 分类(category)非正式协议
- 浅析android UI 定制
- 2.2、线性表的顺序表示和实现
- 四十、类别 和 协议(四)协议
- Kinect 深度测量原理
- 解决Oracle ORA-12505, TNS:listener does not currently know of SID given in connect
- 四十一、类别 和 协议(五)非正式协议
- linux mdadm raid
- 四十二、类别 和 协议(六)合成物件
- 球的运算
- 四十三、基础框架(一)关于 基础框架
- 伤感日志发布:如果一切重来。我会更加珍惜
- Android 对Path的旋转效果的拓展
- JAVA中反射机制的研究
- 四十四、基础框架(二)数字物件