search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

尚學堂java學習筆記:面向過程和面向對象

面向過程和面向對象都是對軟體分析、設計和開發的一種思想它指導著人們以不同的方式去分析、設計和開發軟體。早期先有面向過程思想,隨著軟體規模的擴大,問題複雜性的提高,面向過程的弊端越來越明顯的顯示出來,出現了面向對象思想並成為目前主流的方式。兩者都貫穿於軟體分析、設計和開發各個階段,對應面向對象就分別稱為面向對象分析(OOA)、面向對象設計(OOD)和面向對象編程(OOP)C語言是一種典型的面向過程語言,Java是一種典型的面向對象語言。

面向過程思想思考問題時,我們首先思考「怎麼按步驟實現?」並將步驟對應成方法,一步一步,最終完成。 這個適合簡單任務,不需要過多協作的情況下。比如,如何開車?我們很容易就列出實現步驟:

1. 發動車 2. 掛擋 3.踩油門 4. 走你

面向過程適合簡單、不需要協作的事務。 但是當我們思考比較複雜的問題,比如「如何造車?」,就會發現列出1234這樣的步驟,是不可能的。那是因為,造車太複雜,需要很多協作才能完成。此時面向對象思想就應運而生了。

面向對象(Object)思想更契合人的思維模式。我們首先思考的是「怎麼設計這個事物?」 比如思考造車,我們就會先思考「車怎麼設計?」,而不是「怎麼按步驟造車的問題」。這就是思維方式的轉變。

一、面向對象思想思考造車,發現車由如下對象組成:

1. 輪胎

2. 發動機

3. 車殼

4. 座椅

5. 擋風玻璃

為了便於協作,我們找輪胎廠完成製造輪胎的步驟,發動機廠完成製造發動機的步驟;這樣,發現大家可以同時進行車的製造,最終進行組裝,大大提高了效率。但是,具體到輪胎廠的一個流水線操作,仍然是有步驟的,還是離不開面向過程思想!

因此,面向對象可以幫助我們從宏觀上把握、從整體上分析整個系統。 但是,具體到實現部分的微觀操作(就是一個個方法),仍然需要面向過程的思路去處理。

我們千萬不要把面向過程和面向對象對立起來。他們是相輔相成的。面向對象離不開面向過程!

·面向對象和面向過程的總結

二、都是解決問題的思維方式,都是代碼組織的方式。

三、解決簡單問題可以使用面向過程

四、解決複雜問題:宏觀上使用面向對象把握,微觀處理上仍然是面向過程。

· 面向對象思考方式

遇到複雜問題,先從問題中找名詞,然後確立這些名詞哪些可以作為類,再根據問題需求確定的類的屬性和方法,確定類之間的關係。

建議

1.面向對象具有三大特徵:封裝性、繼承性和多態性,而面向過程沒有繼承性和多態性,並且面向過程的封裝只是封裝功能,而面向對象可以封裝數據和功能。所以面向對象優勢更明顯。

2.一個經典的比喻:面向對象是蓋澆飯、面向過程是蛋炒飯。蓋澆飯的好處就是「菜」「飯」分離,從而提高了製作蓋澆飯的靈活性。飯不滿意就換飯,菜不滿意換菜。用軟體工程的專業術語就是「可維護性」比較好,「飯」 和「菜」的耦合度比較低。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦