国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用例子來說明面向對象和面向過程的區別

2019-11-18 15:28:22
字體:
來源:轉載
供稿:網友
    java是一門面向對象的語言,那對面向對象和面向過程不是很清楚的請看看下面的內容,說不定對你有幫助:

   面向過程就是分析出解決問題所需要的步驟,然后用函數把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。面向對象是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。

   例如五子棋,面向過程的設計思路就是首先分析問題的步驟:

1、開始游戲
2、黑子先走,
3、繪制畫面,
4、判定輸贏,
5、輪到白子,
6、繪制畫面,
7、判定輸贏,
8、返回步驟2,
9、輸出最后結果。

   把上面每個步驟用分別的函數來實現,問題就解決了。
  
   而面向對象的設計則是從另外的思路來解決問題。整個五子棋可以分為:

1、黑白雙方,這兩方的行為是一模一樣的,
2、棋盤系統,負責繪制畫面,
3、規則系統,負責判定諸如犯規、輸贏等。

   第一類對象(玩家對象)負責接受用戶輸入,并告知第二類對象(棋盤對象)棋子布局的變化,棋盤對象接收到了棋子的變化就要負責在屏幕上面顯示出這種變化,同時利用第三類對象(規則系統)來對棋局進行判定。

   可以明顯地看出,面向對象是以功能來劃分問題,而不是步驟。同樣是繪制棋局,這樣的行為在面向過程的設計中分散在了總多步驟中,很可能出現不同的繪制版本,因為通常設計人員會考慮到實際情況進行各種各樣的簡化。而面向對象的設計中,繪圖只可能在棋盤對象中出現,從而保證了繪圖的統一。

   功能上的統一保證了面向對象設計的可擴展性。比如我要加入悔棋的功能,假如要改動面向過程的設計,那么從輸入到判定到顯示這一連串的步驟都要改動,甚至步驟之間的循序都要進行大規模調整。假如是面向對象的話,只用改動棋盤對象就行了,棋盤系統保存了黑白雙方的棋譜,簡單回溯就可以了,而顯示和規則判定則不用顧及,同時整個對對象功能的調用順序都沒有變化,改動只是局部的。

   到這里就可以很明顯的看出面向對象和面向過程的區別所在了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临邑县| 罗甸县| 云林县| 郑州市| 黄冈市| 隆化县| 宜兴市| 左云县| 涟水县| 漳州市| 娱乐| 古丈县| 綦江县| 灵川县| 塘沽区| 淄博市| 永济市| 彩票| 隆昌县| 余姚市| 西青区| 石首市| 曲沃县| 济宁市| 滦南县| 保德县| 海安县| 江城| 太原市| 手游| 巩留县| 河北省| 昆明市| 金门县| 长岭县| 马尔康县| 盐城市| 临夏市| 镇安县| 阿图什市| 沧源|