Objective-C 簡介,objective-c簡介

來源:互聯網
上載者:User

Objective-C 簡介,objective-c簡介

  很少有人會想到 Objective-C 曆史悠久,並且它實際上影響了很多其他的編程技術。比如, Java 程式設計語言和 Objective-C 就有很多共同點。原因就是在 Objective-C 的早期,NeXT 和 Sun Microsystems 合作開發 OpenStep 平台,他們用來開發這種技術的語言就是 Objective-C。當 NeXT 電腦的表現沒有達到他們預期的要求時,該公司走向了失敗,Sun 決定開發自己的語言和跨平 台開發包——Java。Java 工程師們都是諳熟 Objective-C 的,因為 Objective-C 是他們在使用 Java 之前首選的語言。後來他們就將 Objective-C 的一些較好的功能引入到了他們所開發的語言中。

  Objective-C 現已成為了 Mac OS X 和 iPhone OS 上首選的開發語言。它已經發展成為了一種優 雅的解決方案,在純靜態語言和純動態語言之間實現了平衡。它是少有的幾種通常進行編譯的語言, 不僅能從類似 C 和 C++的編譯時間語法檢查受益,還能從負責處理動態物件類型的動態運行時受益。除了 Mac OS X 和 iPhone OS,Objective-C 在其他平台上也發展了一批追隨者,可以在 Linux、 Windows 和其他支援 GNU 編譯器的平台上開發應用。在 iPhone OS 上的使用增加了該語言的知名度並吸引了很多新的程式員。可以說 Objective-C 如今正在經曆一次複興——成千上萬的開發 者正湧向該語言,使其成為了最熱門的技術之一。

  使用Xcode

  Xcode 是一個加入蘋果開發人員計劃就可以免費獲得的優秀的 IDE。它預設支援 C、Objective-C、C++、Java 以及其他幾種語言 。

  ● OC語言特點:

  1、Objecive-C屬於Smalltalk學派,其物件導向與C++物件導向編程力的Simula 67(一種早期物件導向語言)學派不同;

  2、Objective-C 是ANSI C的超集,擴充了C 語言使它具備物件導向設計的能力,例如類、訊息‘繼承;同時在Objective-C的代碼中可以有C和C++語句,它可以調用C的函數,也可以通過C++對象存取方法;

  3、Objective-C可以實現底層系統編程,另一方面可以支援利用動態架構進行開發。

  C++與OC同為物件導向設計語言,他們有很多相似的對象,但是由於兩者屬於不同的物件導向學派。因此兩者之間的比較也樂此不疲。下面簡要說說他們的區別:

  1、繼承:Objective-C與同Java和Smalltalk一樣不支援多重繼承,而C++語言支援多重繼承(從側面可以說明多重繼承的效率不高);

  2、函數調用:Objective-C通過互相傳遞訊息實現函數調用,而C++直接進行函數調用

  3、定型:Objective-C是動態定型(dynamicaly typed)。所以它的類庫比C++要容易操作。Objective-C 在運行時可以允許根據字串名字來存取方法和類,還可以動態串連和添加類。而C++,對象的靜態類型決定你是否可以發送訊息給它。

  4、介面:Objective-C採用protocol協議(非正式和正式)的形式來定義介面,而C++採用虛函數的形式來定義介面。

  5、方法重載:c++中允許兩個方法的名字相同,參數個數相同,但是參數類型不同,以及不同的傳回值類型。而OC中不允許同一個類中兩個方法有相同的名字,參數個數相同,參數類型不同。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.