面向過程

以過程為中心的編程思想

“面向過程”(Procedure Oriented)是一種以過程為中心的編程思想。這些都是以什麼正在發生為主要目標進行編程,不同於面向對象的是誰在受影響。與面向對象明顯的不同就是封裝、繼承、類。

簡寫為POP。

兩種編程比較


面向過程(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 啟動()
{
}
}
使用的時候需要建立一個汽車對象,然後進行應用。