怎麼理解面向對象和麪向過程到底的本質區別?

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

面向對象是把構成問題事務分解成各個對象,建立對象的目的不是爲了完成一個步驟,而是爲了描敘某個事物在整個解決問題的步驟中的行爲。 
-----------------------------------------------

面向過程的思維方式是分析綜合。面向對象的思維方式是構造。

就是對C語言過程式解決問題時。一般是將現有的數據結構先定義出來。然後想辦法構造出算法了。

而用C++這樣的面向對象求解時,先是將對象抽出來。構造成一個仿真的環境,然後在這個環境裏,把與最終要解決的問題間建立一個方法。

所以面向過程的程序設計有挑戰性,技巧性強。
 
而面向對象主要在於對象抽象有技術性,抽象完了後,任何人都可以做後面的工作了。 
-------------------------------------------------

面向對象和麪向過程的主要區別就是數據是單獨存儲還是與操作存儲在一起。對面向過程而言,數據是獨立的。而在面向對象中,對象本身就提供了存儲數據的空間(類的數據成員),這樣就是函數的參數傳遞簡單多了,而且提供了數據封裝後,數據的訪問也變可靠了。
------------------------------------------

面向過程就是將編程當成是做一件事,要按步驟完成,每一步就是一個過程。比如作菜,先放油,接着是放菜進去炒,然後放水,最後菜就做好了。
這裏面放油,炒,放水就是三個步驟。

面向對象就是將編程當成是一個事物,對外界來說,事物是直接使用的,不用去管他內部的情況。而編程就是設置事物能夠做什麼事。其實有點像是將面向過程給放到事物內部了。仍然舉作菜爲例,其實面向過程就好像你是個廚師,要自己炒菜,所以要講究步驟,而面向對象就好像你是個食客,你只要通知廚師作菜,即發一個消息就可以了,至於廚師怎樣作菜,是不用知道的。
---------------------------------------------------

兩句話:
面向對象是將實物高度抽象化
面向過程是一種自頂向下的編程。
而面向對象是自下先建立抽象模型然後再使用模型。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章