Objective-C編程語言--簡介

Objective-C語言被設計成一種精緻的,面向對象的,用法簡單的計算機語言。它是完全基於標準C語言,並且做了最小的,但是功能強大的擴展的語言。這個擴展語言借鑑了是早期的能支持面向對象的語言Smalltalk的風格。Objective-C使用一種簡單易懂的方式使得C語言能夠完全支持面向對象。

大部分面向對象的開發都保護下面幾個部分:

  • 一個面向對象的語言

  •  

    一個類庫

  • 一系列的開發工具

  • 一個運行期環境

本文檔描述了開發環境的第一部分--程序語言。同時對第二部--類庫--提供簡單描述,Objective-C提供了編程框架--即Cocoa。關於運行期是被描述在一個單獨的文檔中--Objective-C Runtime Programming Guide.

誰應該讀本文檔

本文檔的預期讀者會對如下內容感興趣:

  • Objective-C編程

  • Cocoa應用庫的基本信息

本文檔不只是介紹Objective-C的面向對象特性,而是全面介紹這個語言本身。當然,只是專注於對C的擴展部分,而不保護C語言本身。

由於不是描述C語言的文檔,所以這裏要求讀者需要一定的C語言基礎。由於面向對象是和C語言的面向過程非常不同,所以即使你不是C語言的專家,也不會妨礙你對本文檔的理解的。

本文檔的組織結構

下面的章節覆蓋了所以對C語言的擴展。

文章的最後有一個所有Objective-C語言和麪向對象名詞的解釋彙總。

約定

本文檔使用淺體字和粗體字表示不同的部分。前體表示這個部分必須使用這樣的字符,不能有所有變化,粗體表示是可以自己定義的。比如,下面的代碼:

@interface ClassName ( CategoryName )

表示@interface 和其他的兩個部分是必須的,但是你可以選擇類名和類別名。

在例子代碼中,省略號表示這有一些代碼,但是沒有顯示出來:

- (void)encodeWithCoder:(NSCoder *)coder
{
    [super encodeWithCoder:coder];
    ...
}

參看

如果你從來沒有面向對象編程經驗,請先看文章Object-Oriented Programming with Objective-C。如果你有其他語言,比如C++,JAVA等語言的面向對象開發經驗,也建議你讀一下這個文章,因爲Objecctive-C的面向對象的語言支持和其他的語言是不同的。Object-Oriented Programming with Objective-C 爲你站在Objective-C開發者的角度來熟悉面向對象編程提供幫助。他提供了面向對象的設計思路,以及如何寫真正的面對對象的程序。

運行期系統

Objective-C Runtime Programming Guide 描述了Objective-C的運行期特性,以及你如何用它。

Objective-C Runtime Reference 描述了Objective-C在運行期系統方面提供的結構和函數。你可以使用這些支持和運行期系統進行交互,比如你可以動態增加類,或爲類增加函數,或得到加載庫中所有的類的列表。

內存管理

Objective-C支持三種方式的內存管理機制:即在自動垃圾回收和內存計數器上的技術:

  • 自動內存計數管理 (ARC),編譯器負責管理實例的生命週期。

  • 手動管理內存計數器 (MRC,有時候稱MRR爲“手動增加/釋放”),程序員負責所有的內存管理工作。

    手動管理內存的方式描述在文章Advanced Memory Management Programming Guide中。

  • 垃圾回收,系統提供垃圾回收齊來自動管理內存管理和實例生命週期管理。 where you pass responsibility for determining the lifetime of objects to an automatic “collector.”

    垃圾回收技術描述在Garbage Collection Programming Guide中。 (本技術不能用在iOS開發中—你也不能通過iOS開發中心看到上面的這個文檔)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章