物件導向程式設計和麵向過程程式設計哪個好

時間 2021-09-01 18:55:19

1樓:匿名使用者

物件導向和麵向過程只是思考方式不同而已,不能說哪個就好,哪個就不好。關鍵還是看適用的場合。

程序導向:分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以了。

物件導向:則是把構成問題事務分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟

總的說來:程序導向的做法適用於小型系統的構建或者是不複雜系統的構建,而物件導向的做法更加適用於構建大型系統或者是複雜的系統。而且程序導向是基礎,所以不要認為物件導向不重要。

2樓:匿名使用者

從程式設計技術發展程序來看,當然物件導向要好,使大規模程式管理比較有序,但也不能說程序導向就沒生命力,物件導向裡的過程還是程序導向的,另外有些較小的應用程式程序導向可能更方便,效率更高。

3樓:猿學部落

關注猿學部落,輕鬆敲**,輕鬆學程式設計,更多課程盡在猿學部路官網www.itbull.net

4樓:丫a_頭

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

我還是從兩個簡單的例子來說一下吧,希望對你轉換思路有幫助:

第一個簡單的例子:

(編寫一個駕駛汽車的方法)

程序導向的程式設計:

編寫一個方法,void drivecar();

物件導向的程式設計:

將一輛汽車看成一個物件,將所有汽車物件的共性抽取出來,設計一個類car,類中有一個方法void drive(),用car這個類例項化一個具體的物件car,呼叫:car.drive()。

第二個簡單的例子:問題:求一個長方形的周長和麵積。

以程序導向的程式設計方式思考:

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

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

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

程序導向的程式設計**:

class rectangle

static int area(int length,int width)

public static void main(string args)

}物件導向的程式設計:

問題:求一個長方形的周長和麵積。

以物件導向的程式設計方式思考:

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

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

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

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

(程式你可以自己試著編一下哈!)

物件導向的程式設計和麵向過程的程式設計有什麼區別?

物件導向程式設計和麵向過程程式設計分別有什麼優點和缺點

5樓:匿名使用者

物件導向三大特點:封裝、多型、繼承。這三個特性可以讓我們在寫比較大的專案時更好的複用**,比如一個user物件作為使用者存在,裡面封裝了我們所需要的id、name等需要的資訊。

在我們需要的地方獲取這個user物件,拿到對應的值就行了。程序導向突出一個直接,沒那麼多彎彎繞,因此不適合全用程序導向做一個大專案。不過現在講究是程序導向和麵向物件結合,各有各的優點。

6樓:鍾陳眷屬

物件導向程式設計注重結果,程序導向程式設計注重過程

7樓:小貅

面向程式設計是自己寫,物件導向是呼叫別人的類來幫自己幹事!

8樓:猿學部落

關注猿學部落,輕鬆敲**,輕鬆學程式設計,更多課程盡在猿學部路官網www.itbull.net

物件導向程式設計相對於程序導向程式設計有什麼優點?二者有什麼區別?

9樓:匿名使用者

程序導向就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以了。

物件導向是把構成問題事務分解成各個物件,建立物件的目的不是為了完成一個步驟,而是為了描敘某個事物在整個解決問題的步驟中的行為。

例如五子棋,程序導向的設計思路就是首先分析問題的步驟:1、開始遊戲,2、黑子先走,3、繪製畫面,4、判斷輸贏,5、輪到白子,6、繪製畫面,7、判斷輸贏,8、返回步驟2,9、輸出最後結果。把上面每個步驟用分別的函式來實現,問題就解決了。

而物件導向的設計則是從另外的思路來解決問題。整個五子棋可以分為 1、黑白雙方,這兩方的行為是一模一樣的,2、棋盤系統,負責繪製畫面,3、規則系統,負責判定諸如犯規、輸贏等。第一類物件(玩家物件)負責接受使用者輸入,並告知第二類物件(棋盤物件)棋子佈局的變化,棋盤物件接收到了棋子的i變化就要負責在螢幕上面顯示出這種變化,同時利用第三類物件(規則系統)來對棋局進行判定。

可以明顯地看出,物件導向是以功能來劃分問題,而不是步驟。同樣是繪製棋局,這樣的行為在程序導向的設計中分散在了總多步驟中,很可能出現不同的繪製版本,因為通常設計人員會考慮到實際情況進行各種各樣的簡化。而物件導向的設計中,繪圖只可能在棋盤物件中出現,從而保證了繪圖的統一。

功能上的統一保證了物件導向設計的可擴充套件性。比如我要加入悔棋的功能,如果要改動程序導向的設計,那麼從輸入到判斷到顯示這一連串的步驟都要改動,甚至步驟之間的循序都要進行大規模調整。如果是物件導向的話,只用改動棋盤物件就行了,棋盤系統儲存了黑白雙方的棋譜,簡單回溯就可以了,而顯示和規則判斷則不用顧及,同時整個對物件功能的呼叫順序都沒有變化,改動只是區域性的。

再比如我要把這個五子棋遊戲改為圍棋遊戲,如果你是程序導向設計,那麼五子棋的規則就分佈在了你的程式的每一個角落,要改動還不如重寫。但是如果你當初就是物件導向的設計,那麼你只用改動規則物件就可以了,五子棋和圍棋的區別不就是規則嗎?(當然棋盤大小好像也不一樣,但是你會覺得這是一個難題嗎?

直接在棋盤物件中進行一番小改動就可以了。)而下棋的大致步驟從物件導向的角度來看沒有任何變化。

當然,要達到改動只是區域性的需要設計的人有足夠的經驗,使用物件不能保證你的程式就是物件導向,初學者或者很蹩腳的程式設計師很可能以物件導向之虛而行程序導向之實,這樣設計出來的所謂物件導向的程式很難有良好的可移植性和可擴充套件性。

10樓:匿名使用者

1、維護簡單

2、可擴充性

3、**重用

11樓:97樂於助人

c語言是程序導向的程式設計,它的最重要特點是函式,通過主函式來呼叫一個個子函式。

12樓:匿名使用者

下面是我本人的理解,比較淺薄。。

舉個例子,蓋一座大樓,你想到的是樓怎麼蓋,**要有柱子,**要有樑,**樓梯等等(這就是物件導向),至於柱子該怎麼建,用什麼建,方的圓的,等等,這些都不去考慮。。這就是程序導向。。而你逐個去造柱子,造樑,造磚頭,最後將他們組合。。

這是程序導向。。我們蓋房子的時候應該是到相應的建材店把每個材料買了然後去蓋,而不是在家認真地磨磚頭。。那樣等你蓋完房子你就沒時間享受了。

(嘿嘿。。)這就是為什麼物件導向的思想的開發效率大大超過程序導向思想。。

用物件導向思考問題更符合我們人的思考方式。

其實我們人現實生活中都是在物件導向。比如:去飯店吃飯,你只要說明吃什麼就可以了,有必要還了解這個菜是怎麼做的,是**來的,怎麼去種這個菜嗎。。

這樣使得物件導向比面向思想簡單,更容易為人接受。。

物件導向也可以說是從巨集觀方面思考問題,而程序導向可以說是從細節處思考問題。在物件導向中,也存在程序導向。。在學習中,倆都是得學的。。

13樓:匿名使用者

物件導向 就是指 針對類的物件 或者 一個過程的結果 的總體

程序導向是 指 一個過程的流程 也就是說容易強耦合 不容易維護 不容易維護

物件導向程式設計和麵向過程程式設計的區別是什麼

14樓:丫a_頭

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

我還是從兩個簡單的例子來說一下吧,希望對你轉換思路有幫助:

第一個簡單的例子:

(編寫一個駕駛汽車的方法)

程序導向的程式設計:

編寫一個方法,void drivecar();

物件導向的程式設計:

將一輛汽車看成一個物件,將所有汽車物件的共性抽取出來,設計一個類car,類中有一個方法void drive(),用car這個類例項化一個具體的物件car,呼叫:car.drive()。

第二個簡單的例子:問題:求一個長方形的周長和麵積。

以程序導向的程式設計方式思考:

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

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

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

程序導向的程式設計**:

class rectangle

static int area(int length,int width)

public static void main(string args)

}物件導向的程式設計:

問題:求一個長方形的周長和麵積。

以物件導向的程式設計方式思考:

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

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

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

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

(程式你可以自己試著編一下哈!)

15樓:匿名使用者

c語言是程序導向的程式設計,它的最重要特點是

函式,通過主函式來呼叫一個個子函式。程式執行的順序都是程式設計師決定好了的。它是我學的第一種程式語言。

vb是物件導向的程式設計,類是它的主要特點,程式執行過程中,先由主函式進入,定義一些類,根據需要,執行類的成員函式,過程的概念被淡化了(實際上過程還是有的,就是主函式的那些語句),類就是物件,所以我們稱之為物件導向程式設計。

物件導向程式設計和麵向過程程式設計有什麼區別

首先是,像輸入x,y,輸出x y這樣的簡單程式絕對不要用物件導向.其次是,所有用物件導向能夠編出來的,用程序導向的方式都可以編出來.如上說來,oop豈不是沒什麼用處麼?答案不是這樣.oop由於 與資料的封裝,以及 的重用性 繼承 使得它更清晰,更易維護 只作過程序導向程式設計的人可能不會同意這一點 ...

C 物件導向程式設計題目,物件導向程式設計題目,c

峰吹過地無痕 外迴圈 即for int i 0 i 顯然迴圈次數依次為n,n 1,n 2,1.而s的執行次數顯然等於內迴圈 總迴圈次數之和即s n n n 1 n 2 1 說到這就有點像等差數列了 s 數列的個數 即外迴圈次數n 首項即n 末項即1 2s n n 1 2 一 include int ...

什麼是程序導向的程式設計?什麼是程序導向程式設計

程序導向 是一種以事件為中心的程式設計思想。就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以了。什麼是程序導向程式設計?程序導向 把一個問題分解成若干小問題,再對每個小問題進行分解 分模組 知道每個問題的難度都足以小,能夠解決為止,然後再把這些小問題...