Objective-C是一門動態(tài)的語言鸯匹?

看到“為什么說Objective-C是一門動態(tài)的語言灭将?”這個很深奧的問題,在網(wǎng)上瀏覽了一些專家的見解失都,總結(jié)了一些柏蘑,留作備用,以備不時之需(萬一誰再問這么無聊的問題粹庞,就這樣懟回去)

1咳焚、什么是動態(tài)語言?(Dynamic Programming Language -動態(tài)語言或動態(tài)編程語言)

動態(tài)語言庞溜,是指程序在運行時可以改變其結(jié)構(gòu):新的函數(shù)可以被引進(jìn)革半,已有的函數(shù)可以被刪除等在結(jié)構(gòu)上的變化。比如Ruby流码、Python等就是動態(tài)語言又官,而C、C++等語言則不屬于動態(tài)語言漫试。

Dynamically Typed Language (動態(tài)類型語言)

所謂的動態(tài)類型語言六敬,意思就是類型的檢查是在運行時做的。

2驾荣、靜態(tài)類型 (Statically Typed Language-靜態(tài)類型語言)

而靜態(tài)類型語言的類型判斷是在運行前判斷(如編譯階段)外构,比如C#、Java就是靜態(tài)類型語言秘车,靜態(tài)類型語言為了達(dá)到多態(tài)會采取一些類型鑒別手段典勇,如繼承、接口叮趴,而動態(tài)類型語言卻不需要割笙,所以一般動態(tài)語言都會采用動態(tài)類型(Dynamically Typed),常出現(xiàn)于腳本語言中眯亦。

是不是動態(tài)類型語言與這門語言是不是類型安全的完全不相干的伤溉,不要將它們聯(lián)系在一起!

靜態(tài)類型語言的優(yōu)缺點:

優(yōu)點:其結(jié)構(gòu)非常規(guī)范妻率,便于調(diào)試乱顾,方便類型安全;

缺點:需要寫更多的類型相關(guān)代碼宫静,導(dǎo)致不便于閱讀走净、不清晰明了券时。

動態(tài)類型語言的優(yōu)缺點:

優(yōu)點:方便閱讀,不需要寫非常多的類型相關(guān)的代碼伏伯;

缺點:不方便調(diào)試橘洞,命名不規(guī)范時會造成讀不懂,不利于理解等说搅。

3炸枣、Objective-C的動態(tài)運行性

Objective-C語言是C語言的一個子類,所以O(shè)bjective-C是一個靜態(tài)語言弄唧,但是Objective-C的三大特性之一的多態(tài)性讓其擁有了動態(tài)性适肠。

Objective-C的動態(tài)性讓程序可以在運行時判斷其該有的行為,而不是像C等靜態(tài)語言一樣在編譯構(gòu)建時就確定下來候引。它的動態(tài)性主要體現(xiàn)在一下三個方面:

1侯养、動態(tài)類型。 如id類型背伴。實際上靜態(tài)類型因為其固定性和可預(yù)知性而使用得更加廣泛沸毁。靜態(tài)類型是強類型,而動態(tài)類型屬于弱類型傻寂。運行時決定接收者息尺。

2、 動態(tài)綁定疾掰。讓代碼在運行時判斷需要調(diào)用什么方法搂誉,而不是在編譯時。與其他面向?qū)ο笳Z言一樣静檬,方法調(diào)用和代碼并沒有在編譯時連接在一起炭懊,而是在消息發(fā)送時才進(jìn)行連接。運行時決定調(diào)用哪個方法拂檩。

3侮腹、 動態(tài)載入。讓程序在運行時添加代碼模塊以及其他資源稻励。用戶可以根據(jù)需要加載一些可執(zhí)行代碼和資源父阻,而不是在啟動時就加載所有組件⊥椋可執(zhí)行代碼中可以含有和程序運行時整合的新類加矛。

對象是運行時類的一個實例。在類里聲明了的實例變量和方法煤篙,它的每個實例都在內(nèi)存中擁有同樣的實例變量斟览,以及指向那些方法的指針。在Objective-C中對象永遠(yuǎn)是通過指針來引用的辑奈。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末苛茂,一起剝皮案震驚了整個濱河市已烤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌味悄,老刑警劉巖草戈,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異侍瑟,居然都是意外死亡,警方通過查閱死者的電腦和手機丙猬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門涨颜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茧球,你說我怎么就攤上這事庭瑰。” “怎么了抢埋?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵弹灭,是天一觀的道長。 經(jīng)常有香客問我揪垄,道長穷吮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任饥努,我火速辦了婚禮捡鱼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘酷愧。我一直安慰自己驾诈,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布溶浴。 她就那樣靜靜地躺著乍迄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪士败。 梳的紋絲不亂的頭發(fā)上闯两,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音拱烁,去河邊找鬼生蚁。 笑死,一個胖子當(dāng)著我的面吹牛戏自,可吹牛的內(nèi)容都是我干的邦投。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼擅笔,長吁一口氣:“原來是場噩夢啊……” “哼志衣!你這毒婦竟也來了屯援?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤念脯,失蹤者是張志新(化名)和其女友劉穎狞洋,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體绿店,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡吉懊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了假勿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片借嗽。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖转培,靈堂內(nèi)的尸體忽然破棺而出恶导,到底是詐尸還是另有隱情,我是刑警寧澤浸须,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布惨寿,位于F島的核電站,受9級特大地震影響删窒,放射性物質(zhì)發(fā)生泄漏裂垦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一易稠、第九天 我趴在偏房一處隱蔽的房頂上張望缸废。 院中可真熱鬧,春花似錦驶社、人聲如沸企量。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽届巩。三九已至,卻和暖如春份乒,著一層夾襖步出監(jiān)牢的瞬間恕汇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工或辖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瘾英,地道東北人。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓颂暇,卻偏偏與公主長得像缺谴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子耳鸯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容