面向過程程式設計和物件導向程式設計

2021-07-26 05:49:43 字數 1281 閱讀 5481

面向過程程式設計和物件導向程式設計

面向過程程式設計是一種以

過程為中心

的程式設計思想

,分析出解決問題的步驟,然後用函式把這些步驟一步一步實現

。面向過程程式設計,資料和對資料的操作是分離的。

物件導向程式設計

物件導向程式設計是

將事物物件化,通過物件通訊來解決問題

。物件導向程式設計,資料和對資料的操作是繫結在一起的。

物件導向的三大基本特徵:

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

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

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

封裝可以隱藏實現細節,使得**模組化;繼承可以擴充套件已存在的類。它們的目的都是為了

---**重用。

而多型則是為了實現另乙個目的

---介面重用。

物件導向的**更加支援重用,能降低軟體開發和維護的成本,提高軟體的質量。

掌握物件導向的困難之處在於思路的轉換。我們通常習慣於考慮解決問題的方法,而不是考慮將問題抽象成物件再去解決它。

從兩個簡單的例子來理解兩者的區別

第乙個簡單的例子:編寫乙個駕駛汽車的方法

面向過程的程式設計:

編寫乙個方法,

void drivecar();

物件導向的程式設計:

將一輛汽車看成乙個物件,將所有汽車物件的共性抽取出來,設計乙個類

car,類中有乙個方法

void drive()

,用car

這個類例項化乙個具體的物件

car,呼叫:

car.drive()。

第二個簡單的例子:求乙個長方形的周長和面積。

面向過程的程式設計方式:

1、確定長方形周長和面積的演算法

2、編寫兩個方法(函式)分別計算長方形的周長和面積。

3、求周長的方法(函式)和求面積的方法(函式)需要兩個引數,分別是長方形的長和寬。

物件導向的程式設計方式:

1、乙個長方形可以看成乙個長方形物件。

2、乙個長方形物件有兩個狀態(長和寬)和兩個行為(求周長和求面積)。

3、將所有長方形的共性抽取出來,設計乙個長方形類。

4、通過長方形物件的行為,就可以求出某個具體的長方形物件的周長和面積。

面向過程程式設計和物件導向程式設計

面向過程程式設計和物件導向程式設計 一 面向過程程式設計 面向過程程式設計將程式分成了 資料 和 處理函式 兩部分,程式以 處理函式 為核心,如果要執行什麼操作,就將 資料 傳給相應的 處理函式 返回我們需要的結果 面向過程的思路很好掌握,上手容易,但它存在三方面的問題 1 資料和處理函式沒有直接的...

《面向過程和物件導向的程式設計》

關於寫 面向過程和物件導向的程式設計 這個話題我很矛盾,我擔心許多程式設計師對此話題不太感興趣,可能他們不太懂得面向過程和物件導向程式設計的巨大差距,以及對程式設計水平的影響。在我整個程式設計生涯中,有無數的轉變和變化讓我銘記在心。從彙編到 c語言,從檔案系統到資料庫,從 c語言倒 dbase,從c...

程式設計思想 物件導向和面向過程

何謂物件導向?何謂面向過程?對於這程式設計界的兩大思想,一直貫穿在我們學習和工作當中。我們知道面向過程和物件導向,但要讓我們講出來個所以然,又感覺是不知從何說起,最後可能也只會說出一句就是那樣啦,你知道啦。而這種茫然,其實就是對這兩大程式設計思想的迷糊之處。本文通過學生到校報道註冊的例項,闡述了面向...