面向過程語言和面嚮對象語言的區別

面向過程
概念
面向過程是一種以過程爲中心的編程思想,它是一種基礎的順序的思維方式,面向對象方法的基礎實現中也包含面向過程思想。
特性:模塊化   流程化

優點:性能比面向對象高,因爲類調用時需要實例化,開銷比較大,比較消耗資源;比如單片機、嵌入式開發、Linux/Unix等一般採用面向過程開 發,性能是最重要的因素。

缺點:沒有面向對象易維護、易複用、易擴展

面向對象
概念
面向對象是按人們認識客觀世界的系統思維方式,採用基於對象(實體)的概念建立模型,模擬客觀世界分析、設計、實現軟件的辦法。通過面向對象的理念使計算機軟件系統能與現實世界中的系統一一對應。
特性:抽象 封裝 繼承 多態

優點:易維護、易複用、易擴展,由於面向對象有封裝、繼承、多態性的特性,可以設計出低耦合的系統,使系統更加靈活、更加易於維護

缺點:性能比面向過程低

面向對象與面向過程具體而言,有如下幾個方面的不同:

1、出發點不同

面向對象方法是用符合常規思維的方式來處理客觀世界的問題,強調把問題域的要領直接映射到對象之間的接口上。而面向過程的方法則強調的則是過程的抽象化與模塊化,它是以過程爲中心構造或處理客觀世界問題的。

2、層次邏輯關係不同

面向對象的方法則是用計算機邏輯來模擬客觀世界中的物理存在的,以對象的集合類作爲處理問題的單位,儘可能地使計算機世界向客觀世界靠攏,以使問題的處理更清晰直接,面向對象方法是用類的層次結構來體現類之間的繼承與發展。面向過程方法處理問題的基本單位是能清晰準確地表達過程的模塊,用模塊的層次結構概括模塊或模塊間的關係與功能,把客觀世界的問題抽象成計算機可以處理的過程。

3、數據處理方式與控制程序方式不同

面向對象方法將數據與對應的代碼封裝成一個整體,原則上其他對象不能直接修改其數據,即對象的修改只能由自身的成員函數完成,控制程序方式上是通過“事件驅動”來激活和運行程序。而面向過程方法是直接通過程序來處理數據,處理完畢後即可顯示處理的結果,在控制方式上是按照設計調用或返回程序,不能自由導航,各模塊之間存在着控制與被控制,調動與被調用的關係。

4、分析設計與編碼轉換方式不同

面向對象方法貫穿於軟件生命週期的分析,設計及編碼中,是一種平滑過程,從分析到設計再到編碼是採用一致性的模型表示,即實現的是一種無縫連接。而面向過程方法強調分析、設計及編碼之間按規則進行轉換貫穿於軟件生命週期的分析、設計及編碼中,實現的是一種有縫的連接。

原文:https://blog.csdn.net/bieleyang/article/details/78330362

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