Introduction to The Objective-C Programming Language
物件導向C語言編程簡介:
物件導向的C語言是一種簡單的電腦語言,設計的目的是為了進行進階的物件導向編程。物件導向的C語言被定義成對標準C語言的小而強大的擴充集合。是對C語言的擴充但是主要基於Smalltalk語言,最早的物件導向程式設計語言之一。設計物件導向的C語言是為了給C語言完全的物件導向編程能力,通過一種簡單直接的方法。
大部分物件導向開發環境由若干部分組成:
一種物件導向的程式設計語言
一個物件程式庫
一套開發工具
一個運行環境
這篇文章是關於開發環境的第一個部分—程式設計語言,完全地描述了物件導向C語言,並且提供了學習第二個部分的基礎,Mac OS X 的物件導向C語言應用程式框架—統稱為 Cocoa. 你可以開始學習更多有關Cocoa 通過文章Getting Started with Cocoa.
你可以用的兩種主要的開發工具是 Xcode 和 Interface Builder, 可從該網頁獲得描述Xcode Workspace Guide 和Interface
Builder 單獨的. 運行時環境在另外單獨的文檔裡描述: Objective-C Runtime Programming Guide.
注意: 該文檔描述的Objective-C的版本是發布在蘋果電腦 Mac OS X v10.6 上的, 引入了新特性:associative references (see“Associative
References”). 想學習Objective-C的1.0版本(在蘋果電腦 Mac OS X v10.4 或者更早的版本上可用), 請閱讀:
Object Oriented Programming and the Objective-C Programming Language 1.0.
誰應該閱讀該文檔
該文檔是為有可能對以下內容有興趣的讀者準備的:
該文檔即介紹了實現 Objective-C語言的物件導向模型,同事也完整的介紹了該語言。重點在於Objective-C對C語言的擴充部分,而不是C語言本事。
由於這不是一篇介紹C語言的文檔,它假定我們之前瞭解C語言。但是,也不需要深入的瞭解。基於Objective-C的物件導向編程和之前基於標準C語言的編程有很大的不同,因此你不會有太大的障礙即使你不是一個有經驗的C程式員。
該文檔的結構
本文檔分為若干章節和一個附錄。
下面的章節涵蓋了所有Objective - C對標準C語言擴充的功能。
對象,類,和訊息
定義一個類
協議
屬性聲明
類別和擴充
關聯引用
快速枚舉
啟用靜態行為
選取器
異常處理
線程
蘋果的編譯器基於GNU的編譯器系列。Objective-C 的文法是 GNU C/C++ 文法的超集,並且Objective-C 的編譯器適用於C, C++ 和Objective-C 的原始碼. 編譯器識別 Objective-C 的代碼檔案是通過副檔名.m, 就像它識別僅包含標準C文法的檔案是通過副檔名.c, 同樣的, 編譯器識別使用Objective-C語言的C++檔案是通過副檔名
.mm, 其它的在Objective-C 裡使用 C++ 的疑問涵蓋在如下文檔裡:“Using
C++ With Objective-C.”
附錄裡包含的參考資料或許對理解該語言有很大的協助:
約定
當本文檔導論函數,方法和其他編程元素的時候, 使用了特殊的電腦語言和斜體字。電腦語言表示單詞或者字元直接字面的拿來用(寫成和他們一樣的--就是C語言中的關鍵詞了). 斜體表示能表現為其他東西或者是變化的(比如變數名等)。
比如, 文法:
@interfaceClassName(CategoryName)
表示 @interface 和一對圓括弧是必須的, 但是你可以選擇類名和分類名。
當顯示示範代碼的時候,省略符號表示的部分,通常是內容填充部分,已經省略了:
- (void)encodeWithCoder:(NSCoder *)coder{
[super encodeWithCoder:coder]; ...
}
涉及到的附錄裡的約定在附錄本身描述了。
另請參閱
如果你從來沒有用過物件導向編程來建立過應用程式,你應該閱讀:Object-Oriented Programming with Objective-C. 你應該也要考閱讀下它如果你用過其他的物件導向開發環境比如說:C++,JAVA,因為它們和Objective-C有很多不同的例外情況和約定。Object-Oriented
Programming with Objective-C的設計師為了協助你熟悉物件導向的開發,向一個 Objective-C的開發人員方向發展。它闡述了一些物件導向設計的實現,給你一些提示真正的編寫物件導向的程式是啥樣的。
運行環境(運行時)
Objective-C Runtime Programming Guide 描述了Objective-C 運行時的一些情況和你如何去使用它。
Objective-C Runtime Reference描述了Objective-C 運行時支援庫的資料結構和函數。你的程式可以使用這些介面來和Objective-C的運行時系統互動。比如:你可以添加一個類或者方法,或者獲得一個所有已載入得的類定義的列表。Objective-C
Release Notes 描述了在最新版本的 Mac OS X的一些Objective-C運行環境的變化。
記憶體管理
Objective-C 支援兩種記憶體管理的環境,垃圾自動回收和引用計數:
註:本文章是直接翻譯的蘋果官方網頁上的的資料,不會隨著網頁的變化而及時變化,最新官方網頁請參考
https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Introduction/introObjectiveC.html
歡迎朋友們指導修改~~~~
轉載請保留以下資訊:
作者(Author):smilelance
時間( Time ):2010.02
出處( From ):http://blog.csdn.net/smilelance