兩種編程思想的比較:
面向過程(C語言)
就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。
面向對象(c++,c#,java,delphi)
是把構成問題事務分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。
面向對象
“ 面向對象”(Object Oriented,簡稱OO)是一種以事物為中心的編程思想。
面向對象的程式設計(Object-Oriented Programming,簡記為OOP)
比如以公共汽車而言。
“面向過程”就是汽車啟動是一個事件,汽車到站是另一個事件。在編程式的時候我們關心的是某一個事件。而不是汽車本身。我們分別對啟動和到站編寫程式。類似的還有修理等等。
簡介
“ 面向過程”(Procedure Oriented)是一種以過程為中心的編程思想。“面向過程”也可稱之為“面向記錄”編程思想,他們不支持豐富的“面向對象”特性(比如繼承、多態),並且它們不允許混合持久化狀態和域邏輯。
就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次調用就可以了。
過程
面向過程其實是最為實際的一種思考方式,就算是面向對象的方法也是含有面向過程的思想。可以說面向過程是一種基礎的方法。它考慮的是實際地實現。一般的面向過程是從上往下步步求精,所以面向過程最重要的是模組化的思想方法。對比面向過程,面向對象的方法主要是把事物給對象化,對象包括屬性與行為。當程式規模不是很大時,面向過程的方法還會體現出一種優勢。因為程式的流程很清楚,按著模組與函式的方法可以很好的組織。比如拿學生早上起來這件事說明面向過程,粗略的可以將過程擬為:
(1)起床
(2)穿衣
(3)洗臉刷牙
(4)去學校
而這4步就是一步一步地完成,它的順序很重要,你只需要一個一個地實現就行了。而如果是用面向對象的方法的話,可能就只抽象出一個學生的類,它包括這四個方法,但是具體的順序就不一定按照原來的順序。
特殊語言
典型:Pascal,C。C的特點是函式,一個main函式一個個調用子函式。程式的運行主要是函式寫得好不好,再者就是函式和循環的複雜度。
PHP語言,同時可以套用面向過程和面向對象方式編程。
編程
到了編程就是:
public class 汽車運營
{
void 汽車啟動
{
發生了什麼···
}
void 汽車到站
{
發生了什麼···
}
}
“面向對象”需要建立一個汽車的實體,由實體引發事件。我們關心的是由汽車抽象成的對象,這個對象有自己的屬性,像輪胎,顏色等;有自己的方法,像啟動,行駛等.方法也就是汽車的行為.而不是汽車的每個事件。
public class 汽車
{
void 到站()
{
}
void 啟動()
{
}
}
使用的時候需要建立一個汽車對象,然後進行套用。