1. 程式人生 > >面向物件程式設計與面向過程程式設計的特點

面向物件程式設計與面向過程程式設計的特點

一、面向過程程式設計

1)傳統的結構化程式設計通過設計一系列的過程(即演算法)來解決問題。當確定過程之後,再開始考慮儲存資料的方式。演算法是第一位的,資料結構是第二位的。

2)首先確定如何操作資料,然後再決定如何組織資料,以便於資料操作。

3)面向過程是一種以事件為中心的程式設計思想,以功能(行為)為導向,按模組化的設計,就是分析出解決這個問題所需要的步驟,然後用函式把這些步驟一步一步實現,實現時依次的呼叫相應的函式即可。

4)面向過程程式設計是一種以過程為中心的程式設計思想,分析出解決問題的步驟,然後用函式把這些步驟一步一步實現。面向過程程式設計,資料和對資料的操作是分離的。

5)面向過程程式設計方法以功能為中心來設計功能模組,難於維護

二、面向物件程式設計(oop)

1)oop將資料放在第一位,然後再考慮操作資料的演算法。

2)面嚮物件的技術,是一種以物件為基礎,以事件或訊息來驅動物件執行處理的程式設計技術。它具有封裝性,繼承性以及多型性。

<1> 封裝:把客觀事物封裝成抽象的類,隱藏屬性和方法的實現細節,僅對外公開介面。

<2> 繼承:子類可以使用父類的所有功能,並且對這些功能進行擴充套件。繼承的過程,就是從一般到特殊的過程。

<3> 多型:介面的多種不同的實現方式即為多型。同一操作作用於不同的物件,產生不同的執行結果。在執行時,通過指向基類    的指標或引用來呼叫派生類中的虛擬函式來實現多型。

(封裝可以隱藏實現細節,使得程式碼模組化;繼承可以擴充套件已存在的類。它們的目的都是為了---程式碼重用。而多型則是為了實現另一個目的--介面重用)

3)一種以實物為中心的程式設計思想,以資料(屬性)為導向,將具有相同屬性的物體抽象分裝為類,而有了這些資料(屬性)之後,我們再考慮他們的行為(對這些屬性進行如何的操作)

4)oop是把構成問題的事物分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描寫敘述某個事物在整個解決這個問題的步驟中的行為。

5)面向物件程式設計是將事物物件化,通過物件來解決問題。面向物件程式設計,資料和對資料的操作是繫結在一起的。

6)面向物件程式設計方法以資料為中心來描述系統,資料相對於功能而言具有較強的穩定性,因此更易於維護。

7)面向物件程式的控制流程由執行時各種事件的實際發生來觸發,而不再由預定順序來決定,更符合實際需要。 預定順序,由執行時各種事件的實際發生來觸發。