面向過程與物件導向的區別
面向過程」是一種以事件為中心的程式設計思想。
就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候乙個乙個依次呼叫就可以了。
「物件導向」(object oriented,簡稱oo)是一種以事物為中心的程式設計思想。
物件導向的程式設計(object-orientedprogramming,簡記為oop)
比如以公共汽車而言。
「面向過程」就是汽車啟動是乙個事件,汽車到站是另乙個事件。在程式設計序的時候我們關心的是某乙個事件。而不是汽車本身。我們分別對啟動和到站編寫程式。類似的還有修理等等。
到了程式設計就是:
publicclass 運營
void 汽車到站
}「物件導向」需要建立乙個汽車的實體,由實體引發事件。我們關心的是由汽車抽象成的物件,這個物件有自己的屬性,象輪胎,顏色等;有自己的方法,象啟動,行駛等.方法也就是汽車的行為.而不是汽車的每個事件
public class 汽車
void 啟動()
}使用的時候需要建立乙個汽車物件,然後進行應用。
面向過程其實是最為實際的一種思考方式,就是算物件導向的方法也是含有面向過程的思想.可以說面向過程是一種基礎的方法.它考慮的是實際的實現.一般的面向過程是從上往下步步求精.所以面向過程最重要的是模組化的思想方法.對比較物件導向,物件導向的方法主要是把事物給物件化,物件包括屬性與行為.當程式規模不是很大時,面向過程的方法還會體現出一種優勢,因為程式的流程很清楚,按著模組與函式的方法可以很好的組織.比如拿學生早上起來的事情來說說這種面向過程吧.粗略的可以將過程擬為:
(1)起床
(2)穿衣
(3)洗臉刷牙
(4)去學校
而這4步就是一步一步的完成,它的順序很重要,你只須乙個乙個的實現就行了.而如果是用物件導向的方法的話,可能就只抽象出乙個學生的類,它包括這四個方法,但是具體的順序就不能體現出來.
上述文章是本人在學習matlab物件導向程式設計matlab中類的定義方法時困惑後搜尋資料的結果。這是在學習程式設計時的整體程式設計思想到的劃分,具有很好的系統性。
面向過程的程式設計更像是去按照事情的順序去編寫,而物件導向的程式設計思想更像是先定義了物件某一事物的屬性後再去編寫方法。這個事物有自己的屬性,然後再在方法methods中定義事物的行為,上述文章以汽車為例,形象的描述這兩種思想的迥異,實為經典!
面向過程與物件導向的程式設計思想
面向過程 面向過程 是一種以事件為中心的程式設計思想。分析出解決問題所需要的步驟,然後用函式把這些步驟一步步實現,使用的時候乙個個一次呼叫就行了。物件導向 物件導向 是一種以事物為中心的程式設計思想。物件導向是對面向過程的乙個封裝,底層可看作乙個個的面向過程。c 是一種面向過程的語言,vs中的一些快...
程式設計思想 物件導向和面向過程
何謂物件導向?何謂面向過程?對於這程式設計界的兩大思想,一直貫穿在我們學習和工作當中。我們知道面向過程和物件導向,但要讓我們講出來個所以然,又感覺是不知從何說起,最後可能也只會說出一句就是那樣啦,你知道啦。而這種茫然,其實就是對這兩大程式設計思想的迷糊之處。本文通過學生到校報道註冊的例項,闡述了面向...
程式設計思想 物件導向和面向過程
何謂物件導向?何謂面向過程?對於這程式設計界的兩大思想,一直貫穿在我們學習和工作當中。我們知道面向過程和物件導向,但要讓我們講出來個所以然,又感覺是不知從何說起,最後可能也只會說出一句就是那樣啦,你知道啦。而這種茫然,其實就是對這兩大程式設計思想的迷糊之處。本文通過學生到校報道註冊的例項,闡述了面向...