2016-03-25 13:32:22 1339瀏覽
在目前生活中,隨著移動互聯(lián)網(wǎng)行業(yè)不斷的發(fā)展和進步,如今IT行業(yè)最受年輕人歡迎的行業(yè)就是當(dāng)今發(fā)展勢頭最強勁的移動開發(fā)行業(yè),越來越多的IT培訓(xùn)機構(gòu)迎勢而起。比如學(xué)習(xí)iOS開發(fā)期間,大多數(shù)零基礎(chǔ)開發(fā)人員總是問Objective-C和C++有何不同,下面扣丁學(xué)堂iOS開發(fā)培訓(xùn)具體講解它們之間的區(qū)別。
Objective-C,通常寫作ObjC和較少用的Objective C或Obj-C,是擴充C的面向?qū)ο缶幊陶Z言。它主要使用于Mac OS X和GNUstep這兩個使用OpenStep標(biāo)準(zhǔn)的系統(tǒng),而在NeXTSTEP和OpenStep中它更是基本語言。Objective-C可以在GCC以及Clang運作的系統(tǒng)上編寫和編譯,因為GCC與Clang含Objective-C的編譯器。
Objective-C是非常實際的語言。它是一個用C寫成、很小的運行庫,只會令應(yīng)用程序的尺寸增加很小,和大部分OO系統(tǒng)使用極大的VM執(zhí)行時間會取代了整個系統(tǒng)的運作相反。
Objective-C寫成的程序通常不會比其原始碼大很多。而其函式庫(通常沒附在軟件發(fā)行本)亦和Smalltalk系統(tǒng)要使用極大的內(nèi)存來開啟一個窗口的情況相反。
所以,理論上將,Objective-C它完全兼容標(biāo)準(zhǔn)C語言;相比之下,C++對C語言的兼容主要體現(xiàn)在語法上,Objective-C在此基礎(chǔ)上增加了面向?qū)ο缶幊陶Z言的特性以及Smalltalk消息機制。
和C++不同,Objective-C不支持運算子重載。
和Java相同,Objective-C只容許對象繼承一個類別(不設(shè)多重繼承),這一點也和C++不同。
Objective-C不支持多重繼承,而C++語言支持多重繼承。
Objective-C是動態(tài)定型(dynamicaly typed)所以它的類庫比C++要容易操作。Objective-C 在運行時可以允許根據(jù)字符串名字來訪問方法和類,還可以動態(tài)連接和添加類。
在C++里,對象的靜態(tài)類型決定你是否可以發(fā)送消息給它,而對Objective-C來說,由動態(tài)類型來決定。
查看更多關(guān)于“iOS培訓(xùn)資訊”的相關(guān)文章>>