C++和JAVA是面向對象的。
面向對象和面向過程的區別
壹個是博大,壹個是精深。
壹般來說,面向對象簡單,面向過程對人員素質要求太高。
面向過程是分析解決問題所需的步驟,然後用函數壹步步實現這些步驟。用的時候,壹個壹個叫就行了。
面向對象就是把構成問題的事務分解成各種對象。建立對象的目的不是完成壹個步驟,而是描述某個事物在整個解題步驟中的行為。
艾蘭·庫伯在《軟件創新之路》中提到:
面向過程和面向對象的區別並沒有人們想象的那麽大。
面向對象的大部分思想也可以在面向對象的過程中體現出來。
但面向過程的最大問題(也許是唯壹的先天缺陷)是,隨著系統的膨脹,面向過程將無法應對,最終導致系統的崩潰。
面向對象是解決這種軟件危機的壹種嘗試。
目前來看,似乎有些效果。
但是還有很長的路要走。
-
我們來做壹些對比:
基本構件方法工具分析
-
基於算法功能/流程數據流圖的面向流程的偽代碼......
基於對象類的面向對象UML建模...Rose,viso等。
-
其實我壹直認為面向對象和面向過程都體現了軟件復用的思想!
只是面向過程重用了過程和函數,而面向對象重用了類,壹個封裝了數據和處理數據的過程和函數的實體。其實面向對象和面向過程中流程和函數的區別不是很大,所以數據流圖和偽代碼還是有用的。
面向對象的壹大好處就是對數據和方法的封裝,由此發揮了面向對象的三大特性。