回覆列表
  • 1 # 千百萬年

    領域再多也多不過人類的心機,將心機的問題編完整了,物件程式設計與過程程式設計就是小菜一碟。那麼什麼事人類的心機呢?這個問題不復雜,幾千年以前的中國古人已給人類程式設計的體無完膚,不是北斗七星,便是三星拱照。

  • 2 # 蜀山雜記

    程式設計師口中經常說面向物件程式設計、面向過程程式設計,他們口中的面向物件到底是什麼意思呢?剛學習程式設計的你可能百度了半天也不知道這是什麼意思。今天我們就來講講面向物件與面向過程。

    我們先來解釋一下兩個詞:編年史和紀傳體。這是兩種書寫歷史史書的方式。

    編年史:按照歷史事件發生的先後順序,記錄歷史事件。

    比較著名的編年史史書有《資治通鑑》,記載的是從公元前403年到公元959年發生的歷史事件,資治通鑑是按照時間順序寫的。

    紀傳體:透過記敘歷史人物的活動,反映歷史事件的史書。

    廣為熟知的紀傳體史書是《三國志》,它的寫作方法是按照某個歷史人物寫的,比如先主傳(劉備)、後主傳(劉禪)、諸葛亮傳等。

    史書都是在講一個故事,而我們寫程式是為了解決一個問題,本質上沒有什麼區別。

    面向過程程式設計,就是編年史的寫法,面向物件程式設計,就是紀傳體的寫法,是以某個“人”為物件開始寫的。

    可能還不是很清楚兩者的區別,沒關係,我們再說一個例子。

    我想寫一個程式,自動將大象裝進冰箱裡,步驟大概是這個樣子的:

    把冰箱開啟

    把大象裝進去

    把冰箱門關上

    好,哪些是過程呢?冰箱開門、冰箱裝進、冰箱關門,都是過程,於是我寫程式時,面向過程程式設計是這個樣子的:

    冰箱開門(冰箱)

    冰箱裝進(冰箱,大象)

    冰箱關門(冰箱)

    這樣寫,程式可以正常執行,但是你是不是覺得非常奇怪呢?是不是覺得很不符合你的大腦思考方式?好,我們換成面向物件程式設計試試。

    先找出你要寫的物件是誰。紀傳體中,我想寫曹操的歷史,我的物件就是“曹操”這個人。同樣的,冰箱裝大象中,主要的物件是冰箱。於是我對冰箱這個物件說道:

    冰箱,你給我開啟

    冰箱,你把大象裝進去

    冰箱,你把門關上

    是不是看起來簡單了很多?再進一步簡化變成可執行的程式碼:

    冰箱.開門().裝進(大象).關門()

    這樣一來,是不是容易讀了許多,也更加直觀了,這就是面向物件。

    常見的面向過程語言有C語言、Fortran語言,常見的面向物件的語言有Python、C++、Java等。

  • 中秋節和大豐收的關聯?
  • 天龍八部手遊明教怎麼附體內丹明教附體內丹攻略?