Objective-C消息模式
2015-12-06 19:49
459 查看
Objective-C消息模式
OC与c++,Java等面向对象语言相似,不过很多方面有所差别,OC使用”消息结构”而非”函数调用”. OC语言由Smalltalk演化而来,Smalltalk是消息型语言的鼻祖。消息与函数调用的区别看起来是这样:
// 消息
Object *o=[object new];
[o performWith:pl and:p2];
// 函数调用 (c++)
Object *o=new object;
O->perform(p1,p2);
关键区别在于:
1. 使用消息结构的语言,其运行时所执行的代码由运行环境来决定;而使用函数调用的语言,由编译器决定。 2. 如果范例代码中调用的函数是多态的,那么运行时就按照”虚方法表(virtual table)”来查出 到底应该执行哪个函数实现。 采用消息结构的语言,不论是否多态,总是在运行时才会查找所要执行的方法。实际上,编译器甚至不关心接受消息的对象是何种类型,接受消息的对象问题也要在运行事处理,过程叫做”动态绑定”. 韩笑
相关文章推荐
- Objective-C:运行时runtime
- Conclusion for Inheritance and Object Oriented Design
- runtime理解
- Objective-C初学者速查表
- Objective-C 零散知识笔记 by STP
- 函数对象(function object)的简单讲解
- 【Objective-C学习记录】第四天
- Objective-c中的面向对象
- 【Objective-C学习记录】第三天
- READING NOTE: Object Detection by Labeling Superpixels
- ios开发——Objective-c的SHA224/SHA256/SHA384/SHA512加密算法的实现
- java下JSONObject的key值转为小写
- WaitForSingleObject()函数、WaitForMultipleObject()函数
- 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型,原因为没有注册类
- object-c之音频视频的播放
- object-c之音频视频的播放
- 应用mysql_fetch_object()函数从数组结果集中获取信息
- Python - [ File Object ] <<>> [ File Descrcptor ]
- Objective-C Runtime 运行时之六:拾遗
- Objective-C Runtime 运行时之五:协议与分类