面向對象和麵向過程的區別 區別簡述 面向過程(Procedure Oriented):以過程為核心,強調**事件的流程、順序,**如:C語言。 面向對象(Object Oriented):以對象為核心,強調**事件的角色、主體,**如:C++、Java。 區別 1.思路不同 2.特點不同 3.優勢不 ...
面向對象和麵向過程的區別
區別簡述
面向過程(Procedure Oriented):以過程為核心,強調事件的流程、順序,如:C語言。
面向對象(Object Oriented):以對象為核心,強調事件的角色、主體,如:C++、Java。
區別
1.思路不同
2.特點不同
3.優勢不同
面向過程是直接將解決的問題分析出來,然後用函數將步驟一步一步實現,然後再一次調用就可以了;
面向對象是將構成問題的事物,分解成若幹個對象,建立對象的目的不是為了完成一個步驟,而是為了描述某個事物在解決問題過程中的行為。
面向過程思想偏向於我們做一件事的流程,首先應該做什麼,其次做什麼,最後做什麼。
面向對象思想偏向於瞭解一個人,這個人的性格,特長是怎麼樣的,有沒有遺傳到什麼能力,有沒有家族病史。
面向過程是一種以過程為中心的編程思想,面向過程編程是基於馮諾依曼模型的。
面向過程優點
流程化使得編程任務明確,在開發之前基本考慮了實現方式和最終結果,具體步驟清晰,便於節點分析,效率高,面向過程強調代碼的短小精悍,善於結合數據結構來開發高效率的程式。
面向過程缺點
需要深入的思考,耗費精力,代碼重用性低,擴展能力差,後期維護難度比較大。
面向對象優點
易維護,易擴展,易復用,有封裝、繼承、多態的特性、更容易設計出耦合的系統。
面向對象缺點
性能沒有面向過程高
如何理解面向對象的三個特性
封裝
將屬性和方法都放在一個類里,而且還可以通過訪問類的許可權屬性給區分開,用戶不需要知道我這個類中的屬性和方法到底怎麼寫的,直接調用使用即可。更加安全,不想要釋放的功能,可以直接做成私有。
繼承
就是把之前已經實現好的代碼或者方法通過繼承的方法拿過來使用,能節省大量的代碼量,符合代碼設計裡面的繼承優秀代碼特性。
多態
由於可以繼承多個類,能夠組合成多種特性,但多態的關鍵是覆蓋,就是同一個方法可以用不同的方式去實現,展現出多態性,就是方法和屬性有多種形態。