《Effective Objective-C》读书笔记(1)

Objective-C语言使用“消息结构”而非“函数调用”

消息结构表示如下:

// Messageing (Objective-C)
Object *obj = [Object new];
[obj performWith:parameter and:parameter2];

函数调用表示如下:

// Function Calling(C++)

Object *obj = new Object;
obj->perform(parameter1, parameter2);

区别在于:使用消息结构的语言,其运行时所执行的代码由运行环境来决定的;而使用函数调用的语言,则由编译器决定

Objective-C使用动态绑定的消息结构,也就是说,在运行时才会检查对象的类型,接收一条消息后,究竟应该执行何种代码。有运行期环境而非编译器来决定。

Objective-C的重要工作都由“运行期组件”而非编译器来完成的,使用Objective-C的面向对象特性所需的全部数据结构及函数都在运行期组件里面,即运行期组件中包含全部内存管理方法。

运行期组件本质上就是一种与开发者所编代码相链接的“动态库”,其代码能把开发者编写的所有程序粘合起来。所以更新运行期组件,即可提升应用程序的性能。

原文地址:https://www.cnblogs.com/scottdinggo/p/4563759.html