1. 程式人生 > >簡單通俗的說一下什麼是面向過程和麵向物件

簡單通俗的說一下什麼是面向過程和麵向物件

網上關於這兩個的回答真的很多,但是都有一個共同特點:------------不容易懂

我今天就簡單通俗的說一下(當然,如果你要非常深入的瞭解,這篇不適合你。如果你只是為了瞭解什麼是面向過程和麵向物件,怎麼面對考試,面對面試,怎麼和別人說兩者區別,看我下面幾段話夠了。)

---------------------------------------------先來兩小段通俗解釋

面向過程(Procedure Oriented 簡稱PO :像C語言):

    看名字它是注重過程的。當解決一個問題的時候,面向過程會把事情拆分成: 一個個函式和資料(用於方法的引數) 。然後按照一定的順序,執行完這些方法(每個方法看作一個個過程),等方法執行完了,事情就搞定了。

面向物件(Object Oriented簡稱OO :像C++,JAVA等語言):

    看名字它是注重物件的。當解決一個問題的時候,面向物件會把事物抽象成物件的概念,就是說這個問題裡面有哪些物件,然後給物件賦一些屬性和方法,然後讓每個物件去執行自己的方法,問題得到解決。

------------------------------------------最後來個例子

  問題:  冰箱裡面放有髒衣服,怎麼洗乾淨?

   面向過程:                    1 執行加洗衣粉方法;
                    2 執行加水方法;
                    3 執行洗衣服方法;
                    4 執行清洗方法;
                    5 執行烘乾方法;----------解決問題       拆成一個個方法,是沒有物件去呼叫的。 通過一個個方法的執行解決問題。

   面向物件: 我先搞個洗衣機物件和人物件 

   洗衣機: 加入一些屬性和方法  洗衣服方法  清洗方法  烘乾方法       人:加洗衣粉方法  加水方法

   然後 人.加洗衣粉 人.加水   洗衣機.洗衣服 洗衣機.清洗  洗衣機.烘乾

----------同樣解決問題    先抽象出物件,然後用物件執行方法的方式解決問題。

然後在來一個我以前知乎看到的例子  :  男女親密例子      man   gril   

 面向過程:        make_love(man,gril)  ---------解決問題      拆成一個動作,把資料丟進去

 面向物件:        man.make_love(gril)  或者 gril.make_love(man) -----解決問題    抽象出物件,物件執行動作 。 

當然,你面試的時候,你不要做make_love   ....你可以說是打牌 。   

面向過程就是    打牌 (你,我,他)

面向物件就是  我.打牌(你,他) or 你.打牌(我,他)  or 他.打牌(我,你)

我覺得算是很通俗啦,希望對大家有用。。。。

相關推薦

簡單通俗的說一下什麼是面向過程和麵物件

網上關於這兩個的回答真的很多,但是都有一個共同特點:------------不容易懂。我今天就簡單通俗的說一下(當然,如果你要非常深入的瞭解,這篇不適合你。如果你只是為了瞭解什麼是面向過程和麵向物件,怎麼面對考試,面對面試,怎麼和別人說兩者區別,看我下面幾段話夠了。)----

028_面向物件_01_面向過程和麵物件的本質區別

一、本質   a)面向過程(Procedure Oriented):是一種以過程為中心的程式設計思想。這些都是以什麼正在發生為主要目標進行程式設計,不同於面向物件的是誰在受影響。與面向物件明顯的不同就是封裝、繼承、類。   b)面向物件(Object Oriented,OO):是軟體開發方法。面向物件的概

Linux C/C++教程(一)-- 面向過程和麵物件

目錄   一、面向過程 二、面向物件 一、面向過程 面向過程是一種以過程為中心的程式設計思想。分析問題的解決步驟,通過函式一步步實現,然後順序呼叫函式來執行。主要缺點在於複用性、維護性、拓展性比較差。 二、面向物件 面向物件採用物件(實體)的方式建立抽象

面向過程和麵物件

面向過程程式設計: 以事件為中心,以功能為導向,分析某個問題的所需要的步驟,實現每個步驟的函式,不斷呼叫函式。 面向過程程式設計,首先是如何操作資料,在考慮如何組織資料。資料和對資料的操作是分離的。 面向過程程式設計以設計各個功能模組為中心,難於維護。 面向

java知識點7——面向過程和麵物件面向物件的記憶體分析、構造方法

面向過程和麵向物件 解決簡單問題可以使用面向過程 解決複雜問題:巨集觀上使用面向物件把握,微觀處理上仍然是面向過程。 面向物件具有三大特徵:封裝性、繼承性和多型性,而面向過程沒有繼承性和多型性,並且面向過程的封裝只是封裝功能,而面向物件可以封裝資料和功能。所以面向物件優

面向過程和麵物件程式設計的的思想理解

      之所以寫這邊部落格,是因為昨日和一位電子專業的好友,聊起了這個專業問題,我卻沒有用通俗易懂的例子來解釋它們,雖然已經把C語言過了一遍,Java也學了好一段時間,但是真正去向一個外行人解釋,感覺只可意會不言傳的感覺,為此非常的懊惱。 面向過程:是一種以過程為中

2017033002簡介面向過程和麵物件

面向過程的結構化程式設計方法 設計思路 – 自頂向下、逐步求精。採用模組分解與功能抽象,自頂向下、分而治之。 l程式結構: – 按功能劃分為若干個基本模組,形成一個樹狀結構。 – 各模組間的關係儘可能簡單,功能上相對獨立;每一模組內部均是由順序、選擇和迴圈三種基本結構組成。

python:面向過程和麵物件程式設計思想

一、區別 面向過程:在實現的時候,每個過程都需要一個函式 面向物件: 二、面向物件和類 類的組成:以狗為例 (1)類名:(狗) (2)類的屬性:一組資料(狗的毛色,重量等) (3)類的方法

c++面向過程和麵物件

#include <iostream>using namespace std;class Dog{public:    char name[64];    //面向物件,方法在類的內部,因為物件的本質是class型別的變數,方法在類內部時,物件呼叫自身內部的方法就

js的兩面-面向過程和麵物件

js是面向過程還是面向過程?一直以來,頂級大師各有各的說法,這裡不敢妄加評論。 面向過程就是函數語言程式設計,按照傳統流程編寫一個又一個的函式來解決需求的方式。 面向過程適合一個人的專案,如果是團隊合作,別人想修改你的程式碼就不利於維護了。所以下面著重聊聊面向物

面向過程程式設計和麵物件程式設計的區別

面向過程程式設計 面向過程程式設計是一種以過程為中心的程式設計思想,分析出解決問題的步驟,然後用函式把這些步驟一步一步實現。面向過程程式設計,資料和對資料的操作是分離的。 面向物件程式設計 面向物件程式設計是將事物物件化,通過物件通訊來解決問題。面向物件程式設計,資料和對資料的操作

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

一、面向過程程式設計思想 百度百科這樣解釋: “面向過程”(Procedure Oriented)是一種以過程為中心的程式設計思想。 面向過程其實是最為實際的一種思考方式,就算是面向物件的方法也是含有面向過程的思想。可以說面向過程是一種基礎的方法。它考慮的

面向過程設計和麵物件設計之間區別的例項

你也可以檢視我的其他同類文章,也會讓你有一定的收貨! 參考:http://blog.sina.com.cn/s/blog_46552dd90100eg5l.html 問題:我在一個新的專案中使用UML中的用例分析和概念模型。但是老闆堅持要用傳統的需求說明

面向函式程式設計和麵物件程式設計的區別和使用

簡述面向函式程式設計和麵向物件程式設計的區別? 什麼時候使用面向函式程式設計?什麼時候使用面向物件程式設計? 函數語言程式設計,顧名思義,這種程式設計是以函式思維做為核心,在這種思維的角度去思考問題。 這種程式設計最重要的基礎是λ演算,接受函式當作輸入和輸出。 面向物件程式設計,這種程

面向介面程式設計和麵物件程式設計的區別

我想,對於各位使用面向物件程式語言的程式設計師來說,“介面”這個名詞一定不陌生,但是不知各位有沒有這樣的疑惑:介面有什麼用途?它和抽象類有什麼區別?能不能用抽象類代替介面呢?而且,作為程式設計師,一定經常聽到“面向介面程式設計”這個短語,那麼它是什麼意思?有什麼思想內涵?

return函式提前傳參和麵物件的程式設計方式

function request({method,data}){f.c(data)}   function get(v){ return request({method:'GET', data:v}) } f

CMM模型,結構化開發方法和麵物件開發方法的比較,

CMM模型 一、CMM簡介 CMM,英文全稱為Capability Maturity Model for Software,即:軟體成熟度模型。 CMM的核心是把軟體開發視為一個過程。它是對於軟體在定義、實施、度量、控制和改善其軟體過程的實踐中各個發展階段的描述。 根據這一原則對軟體開發和維護進行過程

建構函式與原型鏈和麵物件的學習(三)

下面對面向物件寫個小案例(紅綠燈) 上面是原圖 用來來實現點選圖片,紅綠燈的顏色改變,控制背景圖片的定位來改變 點選一下 就是要完成上面的效果 如果只要實現一個 CSS div{ width: 335px; height: 890px; margin-left:

建構函式與原型鏈和麵物件的學習(二)

  這節對原型鏈的學習 最下面有所有的會用到的完整js程式碼 講解 每一個函式都有一個屬性叫做prototype,指向一個物件(不是函式就沒有這個屬性),當這個建構函式被new的時候,他的每一個例項的__proto__屬性,也指向這個物件    &nbs

建構函式與原型鏈和麵物件的學習(一)

下面文章所有的例子(關於什麼是建構函式) 例子中完整的js程式碼在文章最下面 第一個例子 function fun(){                 this.na