帶你理解面向過程與面向?qū)ο?/h1>

一、前言

如果你總是對面向?qū)ο蠛兔嫦蜻^程傻傻分不清骑篙,這篇博客盡量會用通俗的方式來講解蜕提。

二、面向過程

概念

面向過程是一種以過程為中心的編程思想靶端,面向過程編程是基于“馮·諾依曼”模型的谎势。在這種模型中,程序與變量一起存儲杨名,程序中包含一系列指令脏榆,并把這些指令以函數(shù)的方式組織起來。

特性

自頂向下台谍、逐步求精须喂、模塊化

優(yōu)點(diǎn)

性能比面向?qū)ο蟾撸驗轭愓{(diào)用需要實例化趁蕊,開銷比較大坞生,比較消耗資源。

如單片機(jī)掷伙、嵌入式開發(fā)是己、Linux/Unix等一般采用面向過程開發(fā),因為在它們看來性能是最重要的因素任柜。

缺點(diǎn)

沒有面向?qū)ο笠拙S護(hù)赃泡、易復(fù)用寒波、易擴(kuò)展

(按照面向過程的思想,在解決問題時升熊,各函數(shù)之間是為了這個問題服務(wù)俄烁;而面向?qū)ο蟮乃枷氪戮瑒t是站在提出問題的主體的角度去解決問題璃氢,可將解決這一具體問題的步驟,抽象為解決這一類問題的方法特幔,以后再遇到類似的問題蓖柔,可以復(fù)用解決思路)

三辰企、面向?qū)ο?/h2>

概念

面向?qū)ο笫前慈藗冋J(rèn)識客觀世界的系統(tǒng)思維方式,采用基于對象(實體)的概念建立模型况鸣,模擬客觀世界分析牢贸、設(shè)計、實現(xiàn)軟件的方法镐捧。通過面向?qū)ο蟮睦砟钋彼鳎瑢⒂嬎銠C(jī)軟件系統(tǒng)能與現(xiàn)實世界中的系統(tǒng)一一對應(yīng)。

特性

封裝懂酱、繼承竹习、多態(tài)

(后續(xù)會有文章說明這三個特性)

優(yōu)點(diǎn)

易維護(hù)、易復(fù)用列牺、易擴(kuò)展(在解釋面向過程的缺點(diǎn)時有對面向?qū)ο蟮膬?yōu)點(diǎn)進(jìn)行解釋)

缺點(diǎn)

性能比面向過程低

四整陌、面向過程與面向?qū)ο蟮膮^(qū)別

面向過程是直接將解決問題的步驟分析出來,然后用函數(shù)把步驟一步一步實現(xiàn)瞎领,然后再依次調(diào)用就可以了泌辫;而面向?qū)ο笫菍?gòu)成問題的事物,分解成若干個對象九默,建立對象的目的不是為了完成一個步驟震放,而是為了描述某個事物在解決問題過程中的行為。

面向過程思想偏向于我們做一件事的流程荤西,首先做什么,其次做什么伍俘,最后做什么邪锌。

面向?qū)ο笏枷肫蛴诹私庖粋€人,這個人的性格癌瘾、特長是怎么樣的觅丰,有沒有遺傳到什么能力,有沒有家族病史妨退。

打個比方妇萄,分別求出長方形蜕企、圓形的周長和面積。

面向過程會以冠句,求解數(shù)學(xué)題的思路去思考:

  1. 設(shè)定長方形的長和寬分別為x和y轻掩,圓的半徑為r

  2. 確定長方形、圓形的周長和面積的算法

  3. 編寫出兩個計算周長和面積的函數(shù)

  4. 將x懦底、y和r傳入相對應(yīng)的函數(shù)唇牧,求解長方形、圓形的周長和面積

面向?qū)ο?/strong>會以聚唐,描述對象的思路去思考:

  1. 對規(guī)則圖形的一般屬性和性質(zhì)進(jìn)行定義丐重,如周長和面積

  2. 在規(guī)則圖形的基礎(chǔ)上,創(chuàng)建長方形杆查,描述長方形的屬性和性質(zhì)

  3. 在規(guī)則圖形的基礎(chǔ)上扮惦,創(chuàng)建圓形,描述圓的屬性和性質(zhì)

  4. 分別創(chuàng)建長方形和圓形的對象亲桦,調(diào)用它們的周長和面積函數(shù)崖蜜,以求解長方形、圓形的周長和面積

面向過程是從細(xì)節(jié)出發(fā)烙肺,將問題細(xì)化為先后步驟纳猪;

面向?qū)ο?/strong>從宏觀出發(fā),重在模擬整個情境中各個要素之間的交互桃笙。

五氏堤、面向?qū)ο蟮奶攸c(diǎn)

在了解其特點(diǎn)之前,咱們先談?wù)剬ο蟛鳎瑢ο缶褪乾F(xiàn)實世界存在的任何事務(wù)都可以稱之為對象鼠锈,有著自己獨(dú)特的個性

屬性用來描述具體某個對象的特征。比如小楊身高178M星著,體重65KG购笆,這里身高、體重都是屬性虚循。
面向?qū)ο蟮乃枷刖褪前岩磺卸伎闯蓪ο笸罚鴮ο笠话愣加蓪傩?方法組成!

屬性屬于對象靜態(tài)的一面横缔,用來形容對象的一些特性铺遂,方法屬于對象動態(tài)的一面,咱們舉一個例子茎刚,小楊會跑襟锐,會說話,跑膛锭、說話這些行為就是對象的方法粮坞!所以為動態(tài)的一面蚊荣, 我們把屬性和方法稱為這個對象的成員!

:具有同種屬性的對象稱為類莫杈,是個抽象的概念互例。比如“人”就是一類,期中有一些人名姓迅,比如小明敲霍、小紅、小玲等等這些都是對象丁存,類就相當(dāng)于一個模具肩杈,他定義了它所包含的全體對象的公共特征和功能,對象就是類的一個實例化解寝,小明就是人的一個實例化扩然!我們在做程序的時候,經(jīng)常要將一個變量實例化聋伦,就是這個原理夫偶!我們一般在做程序的時候一般都不用類名的,比如我們在叫小明的時候觉增,不會喊“人兵拢,你干嘛呢!”而是說的是“小明逾礁,你在干嘛呢说铃!”

面向?qū)ο笥腥筇匦裕謩e是封裝性嘹履、繼承性和多態(tài)性腻扇,這里小編不給予太多的解釋,因為在后邊的博客會專門總結(jié)的砾嫉!

六幼苛、舉例說明面向過程與面向?qū)ο?/h2>

面向過程——五子棋

1、開始游戲

2焕刮、黑子先走

3舶沿、繪制畫面

4、判斷輸贏

5配并、輪到白子

6括荡、繪制畫面

7、判斷輸贏

8荐绝、返回步驟

9一汽、輸出最后結(jié)果

大家可以看出避消,把上面每個步驟用不同的方法來實現(xiàn)低滩。

面向?qū)ο蟆遄悠?/h3>

面向?qū)ο蟮脑O(shè)計則是從另外的思路來解決問題召夹。

1、黑白雙方恕沫,這兩方的行為是一模一樣的监憎。

2、棋盤系統(tǒng)婶溯,負(fù)責(zé)繪制畫面鲸阔。

3、規(guī)則系統(tǒng)迄委,負(fù)責(zé)判定諸如犯規(guī)褐筛、輸贏等。

第一類對象(玩家對象)負(fù)責(zé)接受用戶輸入叙身,并告知第二類對象(棋盤對象)棋子布局的變化渔扎,棋盤對象接收到了棋子的變化就要負(fù)責(zé)在屏幕上面顯示出這種變化,同時利用第三類對象(規(guī)則系統(tǒng))來對棋局進(jìn)行判定信轿。

可以明顯地看出晃痴,面向?qū)ο笫且怨δ軄韯澐謫栴},而不是步驟财忽。同樣是繪制棋局倘核,這樣的行為在面向過程的設(shè)計中分散在了多個步驟中,很可能出現(xiàn)不同的繪制版本即彪,因為通常設(shè)計人員會考慮到實際情況進(jìn)行各種各樣的簡化紧唱。而面向?qū)ο蟮脑O(shè)計中,繪圖只可能在棋盤對象中出現(xiàn)祖凫,從而保證了繪圖的統(tǒng)一琼蚯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者

  • 序言:七十年代末,一起剝皮案震驚了整個濱河市惠况,隨后出現(xiàn)的幾起案子遭庶,更是在濱河造成了極大的恐慌,老刑警劉巖稠屠,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峦睡,死亡現(xiàn)場離奇詭異,居然都是意外死亡权埠,警方通過查閱死者的電腦和手機(jī)榨了,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攘蔽,“玉大人龙屉,你說我怎么就攤上這事。” “怎么了转捕?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵作岖,是天一觀的道長。 經(jīng)常有香客問我五芝,道長痘儡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任枢步,我火速辦了婚禮沉删,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘醉途。我一直安慰自己矾瑰,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布隘擎。 她就那樣靜靜地躺著脯倚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嵌屎。 梳的紋絲不亂的頭發(fā)上推正,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機(jī)與錄音宝惰,去河邊找鬼植榕。 笑死,一個胖子當(dāng)著我的面吹牛尼夺,可吹牛的內(nèi)容都是我干的尊残。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼淤堵,長吁一口氣:“原來是場噩夢啊……” “哼寝衫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拐邪,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤慰毅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扎阶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體汹胃,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年东臀,在試婚紗的時候發(fā)現(xiàn)自己被綠了着饥。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡惰赋,死狀恐怖宰掉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤轨奄,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布仇穗,位于F島的核電站,受9級特大地震影響戚绕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜枝冀,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一舞丛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧果漾,春花似錦球切、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至户辱,卻和暖如春鸵钝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背庐镐。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工恩商, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人必逆。 一個月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓怠堪,卻偏偏與公主長得像,于是被迫代替她去往敵國和親名眉。 傳聞我的和親對象是個殘疾皇子粟矿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 4.類和對象 C++面向?qū)ο笕筇匦裕悍庋b、繼承损拢、多態(tài) 4.1封裝 4.1.1意義 將屬性和行為作為一個整體陌粹,表現(xiàn)...
    一定能心想事成的閱讀 238評論 2 1
  • 《富爸爸窮爸爸》筆記及摘錄 各人的理解和側(cè)重點(diǎn)不一樣,需要的小伙伴福压,請自己去讀申屹,并擁有自己的筆記吧。 普通人能做到...
    沐雨晴天閱讀 206評論 0 0
  • 11、 吳國大司馬陸抗疾病胞枕,上疏說:“西陵杆煞、建平,是國家屏障,既處長江上游决乎,兩面受敵队询,如果敵人船艦順流而下,快如流...
    華杉2009閱讀 1,018評論 1 12
  • 書接上文构诚,我抽著煙等著喊我進(jìn)屋蚌斩,我一直在想著用什么話來故作玄虛,聽見屋里幾個人在嘀咕著…… “是不是他從門縫里看見...
    ffc6c2c2fa1c閱讀 163評論 1 5
  • 襲卷而來 在未受洗禮的地帶 被一道道傷覆蓋 它是否懂得 如何去愛 這殘骸 頹廢的色彩 飄零著在嘶吼聲中循徊 你掩面...
    瘋王醬閱讀 151評論 0 0