有多可憐。”
盧赫聽后,目瞪口呆,“不是,這種明擺著的離譜活兒,他也敢接?”
“大仙心善吶。”艾達否連連撇嘴,“你看他那一臉慈善樣,心系群生的,比咱倆境界高。”
“唉,一群走投無路的科學家,最終擁抱了玄學,也是挺可憐的。大仙你還真是普渡眾生啊。”
盧赫調侃完,望了一眼擺滿生活用品的桌椅和床鋪,一屁股坐在狹小空間里的唯一一塊空地上,仰頭望著艾達否,“老艾,我想請教你一個問題,什么是面向對象編程?”
艾達否對著天花板放空,心不在焉道:“字面意思,就是面對著你的對象寫程序,你把你家里特能哭的那位,搬到電腦屏幕旁邊,對著她編程,這不就是面向對象編程嗎?”
“我去你大爺的,沒事就戳我肺管子!”盧赫一把抓起掉在地上的卷紙扔向艾達否,“我現在什么級別你也知道,你要是把我搞抑郁了,有人拿你是問。”
說完,他瞬間換上了一幅憂郁臉。
艾達否立刻緊張起來,“對不起兒子,為父錯了,你想知道面向對象和面向過程的區別是吧,爸爸我這就給你講,包你聽懂。”
他坐起身,輕了輕嗓子:“其實很簡單,拿史書做個比喻,面向過程是編年體,是《資治通鑒》;面向對象是紀傳體,是《史記》。”
“然后呢?”盧赫追問。
“沒有然后了,就這么簡單。看你悟性了。”
盧赫擺出一幅黑臉,“我要是有時間悟,還來找你干什么?”
艾達否縷了縷并不存在的胡子,“那還是讓為父告訴你吧。
編年體中,展示的是世間萬物隨時間軸的變化過程,今年發生了什么,明年發生了什么,相當于程序一行一行順序執行各種動作,你編寫的是這些動作的實現過程。
而紀傳體中,是有主角的,主角是一個人,一個對象。這個對象他是誰,他有什么性格,他說話有什么口癖,他有什么能耐,這些都需要你事先定義好。有人才有歷史。
這相當于你定義了一個類,在類中定義了各種功能,實例化它,把它變成活生生的對象,你才能借它的手眼,去推演這個世界。”
盧赫聽了直點頭,可沒一會兒又開始搖頭,“什么是類和實例?”
“類就是一個模板,你可以在其中定義它的屬性和方法。比如哺乳動物就是一個類。
什么是哺乳動物?全身被毛、運動快速、恒溫胎生、體內有膈,符合這些特征的就是哺乳動物,這是它們的屬性。
哺乳動物能干什么?能用肺呼吸、能跑能跳、能嗷嗷叫、能動腦子,這是它們的方法。
繼續閱讀,后面更精彩!
哺乳動物這四個字是抽象的,它不指代現實中的任何一種生物,它只是一個模板,一個類。
而實例,是根據這個模板創造出來的對象,就是我們剛剛提到的對象。每個對象都有和模板相同的屬性和方法,但它們各自的數據可以不盡相同。
比如,狗和貓都是哺乳動物,都是對象。它們都全身被毛、運動快速、恒溫胎生、體內有膈,但長得不一樣。它們都能用肺呼吸、能跑能跳、能嗷嗷叫、能動腦子,但狗是汪汪叫,貓是喵喵叫。它們各自的數據不同。”
艾達否說完,幽幽地望著盧赫,臉上竟然帶著一絲期待。
盧赫轉了轉眼珠,“面向對象搞得這么復雜,相對于面向過程有什么優越性嗎?”
“很好。”艾達否滿意地點了點頭,“我那些三年了連接口文檔都看不懂的師弟師妹們也曾問過這個問題。
面向對象的優越性,在于繼承和多態。
我們剛剛定義了一個名為哺乳動物的類對吧,哺乳