程式導向與物件導向

無荒111000發表於2020-11-22

一、什麼是“程式導向”,什麼是”物件導向“

“程式導向”(Procedure Oriented)是一種以過程為中心的程式設計思想。這些都是以什麼正在發生為主要目標進行程式設計,不同於物件導向的是誰在受影響。

物件導向是相對於程式導向來講的,物件導向方法,把相關的資料和方法組織為一個整體來看待,從更高的層次來進行系統建模,更貼近事物的自然執行模式。

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

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

顯而易見,物件導向關注點在物件,我某個物件能完成什麼;而程式導向的關注點在完成某件事的步驟。列如我要比較兩個型別,程式導向的思路是我要怎樣比較,然後寫一個函式來比較,著重點在過程;而物件導向是,這兩個型別是怎麼比較,著重點在物件。

相關文章