「面向過程」和「物件導向」

2022-08-21 03:03:14 字數 1690 閱讀 4634

1.含義

面向過程  就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了;

物件導向  是把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。

2. 例子

可以拿生活中的例項來理解面向過程與物件導向,例如《五子棋》面向過程的設計思路就是首先分析問題的步驟:1、開始遊戲,2、黑子先走,3、繪製畫面,4、判斷輸贏,5、輪到白子,6、繪製畫面,7、判斷輸贏,8、返回步驟2,9、輸出最後結果。把上面每個步驟用不同的方法來實現。

如果是物件導向的設計思想來解決問題。物件導向的設計則是從另外的思路來解決問題。整個五子棋可以分為1、黑白雙方,這兩方的行為是一模一樣的,2、棋盤系統,負責繪製畫面,3、規則系統,負責判定諸如犯規、輸贏等。第一類物件(玩家物件)負責接受使用者輸入,並告知第二類物件(棋盤物件)棋子布局的變化,棋盤物件接收到了棋子的變化就要負責在螢幕上面顯示出這種變化,同時利用第三類物件(規則系統)來對棋局進行判定。

例如2;《乙個人把大象放進冰箱裡》面向過程的設計思路分三步1.我開啟冰箱2.我把大象裝入3.我關上冰箱門,然後用方法去把這三步依次實現。物件導向:我自需要關注兩件事,1.給冰箱裝上自動開啟與關閉的功能,1.讓大象擁有能夠自動走進冰箱的能力,只需要乙個命令,冰箱自動開啟,大象進去,門關上。當然,只放一頭大象時,感覺不明顯,如果我放一百頭呢..........

例子3面向過程: 在春秋戰國中,假如我是一方諸侯,我為了圖霸天下,那麼我第一步首先需要穩定朝局,第二步我需要安撫民心,第三步我需要出台各種政策讓國家富起來,第四步我需要訓練一支強悍的軍隊,第五步我需要找幾個會帶兵打仗的大將,最後經過一番血戰,我統一了整個國家。

物件導向 :為了圖霸天下,那麼我只需要這麼幾個東西。牛b人士甲(政治很牛b,善於穩定朝局),牛b人士乙(維穩很牛b,善於安撫民心),牛b人士丙(治國很牛b,善於出台各種惠民政策),牛b人士丁(練兵很牛b,善於帶出一幫精兵強將),牛b人士戊(打仗很牛b,善於各種環境下的戰鬥)。假如我找到了這幾個牛b人物,並讓他們都為我所用,那麼打天下不就很簡單了嗎?

我只管找齊這幾個牛b人士,他們下面具體再找什麼人,做啥事,我不管,也不用管。

由此看出:物件導向由面向過程中的執行者,變成了指揮者。是問題更加的立體化,簡單化了。

3.總結

面向過程可以理解為根據事物發展的順序序列的執行相應的**,正如編年史的製作,將各個事物的發展按照時間的年限逐步講述。

物件導向則將將事物抽象化,總結歸類並根據抽象後的規律執行,正如紀傳史,根據乙個起點描述出乙個巨集偉的故事。

當然物件導向思想的出現也是因為有了複雜而巨集大的系統需求應運而生,可以看到,物件導向更注重頂層設計。而面向過程,更注重區域性的實現

物件導向和面向過程

面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了。物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成乙個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。例如五子棋,面向過程的設計思路就是首先分析問題的步驟 1 開始遊...

物件導向和面向過程

物件導向和面向過程的區別 面向過程 更加關注整個程式的實現流程 物件導向 更加關注整個程式中有哪些類,每個類有哪些屬性,有哪些行為,它將整個功能劃分為許多小功能,分散到不同的類中,使用時,僅需命令相應的類完成相應的事情 物件導向的優勢 1.更高的容錯率 2.更易閱讀的 3.更易擴充套件 物件導向的劣...

物件導向和面向過程

面向過程 顧名思義,其中心意義在於 過程 二字,比如你要吃飯,那麼首先是要選地,播種,施肥,成熟,收穫,煮飯,然後才能吃飯,那麼面向過程就是從開始到結束,分析出解決問題的需要的每乙個步驟,然後用函式將這些步驟乙個乙個實現,使用的時候乙個乙個一次呼叫就行了。物件導向 同樣的,你去飯店吃飯的時候,只需要...