1. 程式人生 > >淺談面向物件與面向過程的區別

淺談面向物件與面向過程的區別

很多人剛入門時都不分不清這兩者的區別,我那時候也是。所以今天,就動筆寫了這篇文章,如有錯誤,歡迎指教!

我就不說那些定義了,就因為看不懂,所以才會來查文章,不是嘛?所以再複述也就沒有了意義!

首先,面向過程,就相當於一個人來做所有的過程。

而面向物件呢,就是把程式設計中的事物看成物件,每個物件都有自己的職責。

下面舉例:

面向過程:

A有4個能力,b1,b2,c1,c2。

面向物件:

A有兩個能力:通知B要做什麼,和通知C要做什麼。

B有兩個能力:b1,b2。

C有兩個能力:c1,c2。

這麼說,不知道大家有沒有懂一點。

再舉個例子:

背景是這樣的:

主程式是賣木材的,要求是賣給兩人,兩人分別拿來做桌子和做椅子。

面向過程:

主程式判斷賣給誰,然後呼叫程式做對應的工作。

面向物件:

主程式只需要知道賣東西,給誰都無所謂。

兩個物件接收到東西,做自己該做的就行了。

總結一下:

面向過程就是一個人要把所有事情都做了。

面向物件則是每個人之間分工合作,每個人只需要知道自己能夠做什麼就行了,就像一個公司,大領導通知小領導,小領導通知員工幹活。大領導不用知道員工怎麼完成自己的要求的,員工也不用知道其他員工需要做什麼!

面向過程的程式碼無疑會比面向物件的簡單很多,但是邏輯卻是會更加混亂!

而面向物件,程式碼很多——因為要建立很多的物件嘛!但是條理清晰,每個物件都有自己的職責,分工明確!

第一次寫這種東西,本人也是個剛入門的小菜鳥。如果有問題,再次歡迎批評指正!

相關推薦

面向物件面向過程區別

很多人剛入門時都不分不清這兩者的區別,我那時候也是。所以今天,就動筆寫了這篇文章,如有錯誤,歡迎指教! 我就不說那些定義了,就因為看不懂,所以才會來查文章,不是嘛?所以再複述也就沒有了意義! 首先,面向過程,就相當於一個人來做所有的過程。 而面向物件呢,就是把程式設計中的

對“面向物件面向過程”的理解

面向過程,顧名思義是更注重過程。面向物件,是更注重物件。面向過程的實現過程是整個程式以步驟劃分,如五子棋第一步開始遊戲,第二步黑方先行等等。面向物件的實現過程是整個程式以物件劃分,以物件有什麼功能(方法)來實現,如五子棋分為黑白雙方、棋盤物件、規則物件。

轉:面向物件面向過程的本質的區別

**注:**本文為轉載文章,原文地址:面向物件與面向過程的本質的區別 這篇文章寫的確實很好,通俗易懂 前言: 如果你很想搞明白麵向物件是什麼,面向過程是什麼,或者說二者之間的區別是什麼,那麼就花費一點時間來研讀一下這篇部落格,你一定會有很大的收穫的! 一、面向物件與面向過程的區別

面向物件面向過程區別

面向物件設計和傳統的程序式程式設計有什麼區別呢?程序式程式設計表現為一系列命令和方法的連續呼叫。這種自頂向下的控制方式導致了重複和相互依賴的程式碼遍佈於整個專案,不利於管理和維護程式碼。而面向物件程式設計則將職責從客戶端程式碼中移到專門的物件中,儘量間減少相互依

面向物件面向過程語言的區別

計算機語言可以歸為面向過程語言和麵向物件語言,那麼到底什麼是面向物件,什麼是面向過程呢? 答:面向過程就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以了;面向物件是把構成問題事務分解成各個物件,建立物件的目的不是為了完成一個

面向物件面向過程的本質的區別

前言: 如果你很想搞明白麵向物件是什麼,面向過程是什麼,或者說二者之間的區別是什麼,那麼就花費一點時間來研讀一下這篇部落格,你一定會有很大的收穫的! 一、面向物件與面向過程的區別 面向過程就是

如何理解面向物件面向過程區別

1.面向物件和麵向過程的本質是什麼? 面向物件與面向過程本質來說都是程式碼結構的設計或者思想,而程式設計則是通過程式語言將事物的邏輯根據需求描述出來,所以我覺得並不能說Java就是一種面向物件的語言,而c就是一種面向過程的語言,我的理解是Java內建的語法對面向物件的程式碼結構支援比較好。 2.為什麼先出現面

面向物件面向過程的優缺點

面向過程   優點:效能比面向物件高,因為類呼叫時需要例項化,開銷比較大,比較消耗資源;比如微控制器、嵌入式開發、Linux/Unix等一般採用面向過程開發,效能是最重要的因素。   缺點:沒有面向物件易維護、易複用、易擴充套件   面向物件   優點:易維護、易複用、

java的面向物件面向過程

面向物件和麵向過程的本質區別 語言的進化發展跟生物的進化發展其實是一回事,都是”物以類聚”。 語句多了,我們將完成同樣功能的相近的語句,聚到了一塊兒,便於我們使用。於是,方法出現了! 變數多了,我們將功能相近的變數組在一起,聚到一起歸類,便於我們呼叫。於是,結構體出現了! 再後來,方

Java之路:面向物件面向過程

一、結構化程式設計 早期的程式設計,大量使用共享變數(全域性變數)和goto語句,這使得程式碼結構比較混亂,不容易改錯和複用。 後來有人證明所有的有意義的程式流程都可以使用順序、選擇和迴圈來實現,並由此提出結構化程式設計。 它的主要觀點是採用自頂向下、逐步求精及模組化的程式設計方

[9]面向物件面向過程

前言:主要為個人筆記 面向過程:將問題分析成一個個步驟,將步驟一一在函式中實現,使用時不斷呼叫即可。 面向物件:將問題分析成一個個物件,描述每個物件擁有的行為和屬性。 舉例: 打電話 面向過程

面向物件面向過程對比

大象裝冰箱 指令碼, 此時程式碼是最簡單的. 不需要構思整個程式的概況 print("開門") print("裝大象") print("關門") 函數語言程式設計. 比指令碼麻煩. 對功能有了概況. def kai(): print('開門') def zhuang(): prin

物件,面向物件面向過程的對比,面向物件的三大特徵

類: 就是圖紙. 建立物件的第一步. 先畫圖紙. 先寫類.物件: 物件就是車. 通過圖紙造出來的具體的東西. 通過類來建立物件類與物件的關係: 類是對xxx事物的歸類. 寫: __init__(self, 引數) 引數一般作為屬性設定給物件. 物件就是self,

JS面向物件面向過程

前言面向物件程式設計:  就是將你的需求抽象成一個物件,然後針對這個物件分析其特徵(屬性)與動作(方法)--這個物件就稱之為類面向過程程式設計:  特點:封裝,就是將你需要的功能放在一個物件裡面-----------建立一個類var Person = function(nam

面向物件面向過程理解

本文源地址: 面向過程與面向物件 一位計算機界的大師曾說過,“我認為,面向物件的目標從來都不是複用和擴充套件,而是提供一種處理複雜問題的方法”。 面向過程講究自頂向下逐步求精。找到一個系統的入口然後順藤摸瓜,分析出每一步以及影響這一步的其他因素,我

面向物件面向過程的理解

       由於之前學過面向過程的c語言,因此在學習java的時候,免不了在心裡將兩者對比一番,比如,經常想到一個包裡面的其他的class就像c裡的子函式一般,被主函式呼叫。但是java畢竟是面向物

C/C++ 面向物件和麵向過程區別

C語言實現程序管理&add #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<string.h> #include<windows.h> //面向過程的

面向物件面向過程學習感受

最近在C 語言和python語言之間切換,所以存在面向物件和麵向過程混亂,其實之前在學校的時候,用過java,由於是通訊專業出身,只能說用什麼語言就去學什麼語言,概念上存在一些不清楚,慢慢理順吧。 --------------------------------------

關於面向物件面向過程的哲學

這個標題很虛,但是又找不到什麼好標題,湊合著用吧,以後可能還會修改,畢竟很多人貌似也說不清楚。 一般來說,新手不會寫這種的,對於我來說,做過的個人作品超過十個,練習例子超過一百個,寫過的程式碼量超過十萬行,工具類函式程式碼複用超過三萬行,收集的各種原始碼容量接近5GB,應該

面向物件面向過程的程式設計思想比較

面向過程與面向物件的區別 面向過程”是一種以事件為中心的程式設計思想。   就是分析出解決問題所需要的步驟,然後用函式把這些步驟一步一步實現,使用的時候一個一個依次呼叫就可以了。   “面向物件”(Object Oriented,簡稱OO)是一種以事物為中心的程式設計思