關燈 巨大 直達底部
親,雙擊螢幕即可自動滾動
第一百二十四章 物件導向

有多可憐。”

盧赫聽後,目瞪口呆,“不是,這種明擺著的離譜活兒,他也敢接?”

“大仙心善吶。”艾達否連連撇嘴,“你看他那一臉慈善樣,心繫群生的,比咱倆境界高。”

“唉,一群走投無路的科學家,最終擁抱了玄學,也是挺可憐的。大仙你還真是普渡眾生啊。”

盧赫調侃完,望了一眼擺滿生活用品的桌椅和床鋪,一屁股坐在狹小空間裡的唯一一塊空地上,仰頭望著艾達否,“老艾,我想請教你一個問題,什麼是物件導向程式設計?”

艾達否對著天花板放空,心不在焉道:“字面意思,就是面對著你的物件寫程式,你把你家裡特能哭的那位,搬到電腦螢幕旁邊,對著她程式設計,這不就是物件導向程式設計嗎?”

“我去你大爺的,沒事就戳我肺管子!”盧赫一把抓起掉在地上的捲紙扔向艾達否,“我現在什麼級別你也知道,你要是把我搞抑鬱了,有人拿你是問。”

說完,他瞬間換上了一幅憂鬱臉。

艾達否立刻緊張起來,“對不起兒子,為父錯了,你想知道物件導向和麵向過程的區別是吧,爸爸我這就給你講,包你聽懂。”

他坐起身,輕了輕嗓子:“其實很簡單,拿史書做個比喻,程序導向是編年體,是《資治通鑑》;物件導向是紀傳體,是《史記》。”

“然後呢?”盧赫追問。

“沒有然後了,就這麼簡單。看你悟性了。”

盧赫擺出一幅黑臉,“我要是有時間悟,還來找你幹什麼?”

艾達否縷了縷並不存在的鬍子,“那還是讓為父告訴你吧。

編年體中,展示的是世間萬物隨時間軸的變化過程,今年發生了什麼,明年發生了什麼,相當於程式一行一行順序執行各種動作,你編寫的是這些動作的實現過程。

而紀傳體中,是有主角的,主角是一個人,一個物件。這個物件他是誰,他有什麼性格,他說話有什麼口癖,他有什麼能耐,這些都需要你事先定義好。有人才有歷史。

這相當於你定義了一個類,在類中定義了各種功能,例項化它,把它變成活生生的物件,你才能借它的手眼,去推演這個世界。”

盧赫聽了直點頭,可沒一會兒又開始搖頭,“什麼是類和例項?”

“類就是一個模板,你可以在其中定義它的屬性和方法。比如哺乳動物就是一個類。

什麼是哺乳動物?全身被毛、運動快速、恆溫胎生、體內有膈,符合這些特徵的就是哺乳動物,這是它們的屬性。

哺乳動物能幹什麼?能用肺呼吸、能跑能跳、能嗷嗷叫、能動腦子,這是它們的方法。

哺乳動物這四個字是抽象的,它不指代現實中的任何一種生物,它只是一個模板,一個類。

而例項,是根據這個模板創造出來的物件,就是我們剛剛提到的物件。每個物件都有和模板相同的屬性和方法,但它們各自的資料可以不盡相同。

比如,狗和貓都是哺乳動物,都是物件。它們都全身被毛、運動快速、恆溫胎生、體內有膈,但長得不一樣。它們都能用肺呼吸、能跑能跳、能嗷嗷叫、能動腦子,但狗是汪汪叫,貓是喵喵叫。它們各自的資料不同。”

艾達否說完,幽幽地望著盧赫,臉上竟然帶著一絲期待。

盧赫轉了轉眼珠,“物件導向搞得這麼複雜,相對於程序導向有什麼優越性嗎?”

“很好。”艾達否滿意地點了點頭,“我那些三年了連線口文件都看不懂的師弟師妹們也曾問過這個問題。

物件導向的優越性,在於繼承和多型。

我們剛剛定義了一個名為哺乳動物的類對吧,哺乳動物可以被稱為一個基類,或者父類。而狗

為您推薦