《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);

 

區別在於:使用消息結構的語言,其運行時所執行的代碼由運行環境來決定的;而使用函數調用的語言,則由編譯器決定spa

Objective-C使用動態綁定的消息結構,也就是說,在運行時纔會檢查對象的類型,接收一條消息後,究竟應該執行何種代碼。有運行期環境而非編譯器來決定。code

Objective-C的重要工做都由「運行期組件」而非編譯器來完成的,使用Objective-C的面向對象特性所需的所有數據結構及函數都在運行期組件裏面,即運行期組件中包含所有內存管理方法。orm

運行期組件本質上就是一種與開發者所編代碼相連接的「動態庫」,其代碼能把開發者編寫的全部程序粘合起來。因此更新運行期組件,便可提高應用程序的性能。對象

相關文章
相關標籤/搜索