對(duì)類(lèi)型系統(tǒng)的理解

WechatIMG155.png

說(shuō)明

在學(xué)術(shù)上眶根,以上的概念有更加細(xì)致的定義。我是為了便于自己理解才把這些概念簡(jiǎn)化成這樣边琉。
動(dòng)態(tài)属百,靜態(tài)
強(qiáng)類(lèi)型,弱類(lèi)型
這些都不是絕對(duì)的定義变姨,是有程度的族扰。
比如絕對(duì)的強(qiáng)類(lèi)型是100分,絕對(duì)的弱類(lèi)型是0分。一般語(yǔ)言是介于這兩者之間的渔呵。
比如 c 語(yǔ)言怒竿,是一門(mén)靜態(tài)語(yǔ)言,具有動(dòng)態(tài)特性扩氢。
在編譯時(shí)耕驰,需要確定變量類(lèi)型(靜態(tài)語(yǔ)言的表現(xiàn))
但是其具有 void* 類(lèi)型。這個(gè)指針的類(lèi)型是在運(yùn)行時(shí)才能確定的(動(dòng)態(tài)特性的表現(xiàn))
弱類(lèi)型語(yǔ)言也可能具有動(dòng)態(tài)特性

對(duì)強(qiáng)弱類(lèi)型的一些理解

這個(gè)概念我一直理解不好
現(xiàn)在主要通過(guò)是否存在編程語(yǔ)言層面的隱式類(lèi)型轉(zhuǎn)換來(lái)進(jìn)行區(qū)分

a = 5
b = '5'
sumA = a + b
sumB = a - b

以上內(nèi)容在 c 語(yǔ)言中
a + b, a - b 的表達(dá)式录豺,c 語(yǔ)言都會(huì)在環(huán)境中將 b(字符類(lèi)型) 轉(zhuǎn)換為 (整型) 然后進(jìn)行運(yùn)算
而這個(gè)轉(zhuǎn)化過(guò)程是自動(dòng)的朦肘,不受控制的,語(yǔ)言完成的
可以視為隱式轉(zhuǎn)換
可以說(shuō) c 語(yǔ)言是弱類(lèi)型的
c語(yǔ)言在表達(dá)式的計(jì)算過(guò)程中双饥,具有將一個(gè)變量的值的類(lèi)型進(jìn)行改變的能力媒抠,可以說(shuō)他是弱類(lèi)型的

以上內(nèi)容在 Python 中
會(huì)直接報(bào)錯(cuò)的,提示無(wú)法直接運(yùn)算
在 Python 中咏花,可以 overload 操作符趴生, + 的本質(zhì)是調(diào)用 實(shí)例的
add 函數(shù),是可以對(duì) + 進(jìn)行處理的昏翰〔源遥可以自定義 + 的運(yùn)算規(guī)則
重寫(xiě) add 函數(shù)痛黎,就可以對(duì)不同的類(lèi)型做處理,語(yǔ)言并沒(méi)有對(duì)數(shù)據(jù)類(lèi)型做隱式轉(zhuǎn)換
Python 語(yǔ)言并沒(méi)有將變量自動(dòng)改變類(lèi)型的特性(不具有隱式轉(zhuǎn)換)声邦,說(shuō)他是強(qiáng)類(lèi)型的

強(qiáng)弱類(lèi)型的優(yōu)缺點(diǎn)

  • 強(qiáng)類(lèi)型安全性更高些
  • 弱類(lèi)型速度更快些

泛型特性與強(qiáng)類(lèi)型特性的不同

從動(dòng)態(tài)婉支、靜態(tài)的角度看:
Python 是動(dòng)態(tài)語(yǔ)言
c, Objective-C 具有動(dòng)態(tài)特性 (void* , id)
這屬于動(dòng)態(tài)這個(gè)概念的內(nèi)容
也是這些語(yǔ)言的共性

從泛型的角度看
這些也都是泛型的特性
泛型是一種對(duì)類(lèi)型系統(tǒng)分類(lèi)副作用的解決方案
(比如在 c 中,你要交換兩個(gè)變量的值距芬,寫(xiě)了一個(gè)交換的方法。由于c 是顯式聲明類(lèi)型的,所以針對(duì)不同類(lèi)型球订,要寫(xiě)多個(gè)方法。用了泛型之后就只需要寫(xiě)一個(gè)方法就可以了瑰钮∶疤玻可以直接交換 兩個(gè) void* 的值±饲矗可以寫(xiě)一份代碼开睡,給多種類(lèi)型使用)

從強(qiáng)弱類(lèi)型來(lái)看
Python 中的變量可以隨意的改變其引用指向的類(lèi)型

a = 5
a = '你好'

(這是有程序顯式改變的)python 本身并沒(méi)有對(duì)變量 a 的類(lèi)型做任何的改變,即Python 不具有隱式改變變量的能力苟耻,所以說(shuō)他是強(qiáng)類(lèi)型的
這種顯式改變不能說(shuō)明 Python 是弱類(lèi)型的

c, Objective-C 中使用void* , id 也可以改變指針的指向類(lèi)型
這種改變也是程序控制的篇恒,不是語(yǔ)言自動(dòng)做的。這都是屬于顯式的改變變量的類(lèi)型
這種顯式改變也不是弱類(lèi)型的特點(diǎn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末凶杖,一起剝皮案震驚了整個(gè)濱河市胁艰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖腾么,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奈梳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡解虱,警方通過(guò)查閱死者的電腦和手機(jī)攘须,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)饭寺,“玉大人阻课,你說(shuō)我怎么就攤上這事〖璩祝” “怎么了限煞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)员凝。 經(jīng)常有香客問(wèn)我署驻,道長(zhǎng),這世上最難降的妖魔是什么健霹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任旺上,我火速辦了婚禮,結(jié)果婚禮上糖埋,老公的妹妹穿的比我還像新娘宣吱。我一直安慰自己,他們只是感情好瞳别,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布征候。 她就那樣靜靜地躺著,像睡著了一般祟敛。 火紅的嫁衣襯著肌膚如雪疤坝。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,185評(píng)論 1 284
  • 那天馆铁,我揣著相機(jī)與錄音跑揉,去河邊找鬼。 笑死埠巨,一個(gè)胖子當(dāng)著我的面吹牛历谍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播辣垒,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼扮饶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了乍构?” 一聲冷哼從身側(cè)響起甜无,我...
    開(kāi)封第一講書(shū)人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扛点,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后岂丘,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體陵究,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年奥帘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铜邮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡寨蹋,死狀恐怖松蒜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情已旧,我是刑警寧澤秸苗,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站运褪,受9級(jí)特大地震影響惊楼,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜秸讹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一檀咙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧璃诀,春花似錦弧可、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至氧秘,卻和暖如春年鸳,著一層夾襖步出監(jiān)牢的瞬間趴久,已是汗流浹背丸相。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留彼棍,地道東北人灭忠。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像座硕,于是被迫代替她去往敵國(guó)和親弛作。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

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