国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

面向過程 VS 面向?qū)ο?/h1>

這篇具有很好參考價(jià)值的文章主要介紹了面向過程 VS 面向?qū)ο?。希望?duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

面向過程 VS 面向?qū)ο? referrerpolicy=

學(xué)習(xí)編程, 基本功是掌握編程語(yǔ)言,但編程的本質(zhì)是邏輯,所以編程思維的培養(yǎng)也很重要。面向過程和面向?qū)ο笫莾煞N重要的編程思想,下面講述一下這兩者的區(qū)別和優(yōu)缺點(diǎn)比較。

1. 面向過程

面向過程是一種以事件為中心的編程思想,編程的時(shí)候把解決問題的步驟分析出來,然后用函數(shù)把這些步驟實(shí)現(xiàn),在一步一步的具體步驟中再按順序調(diào)用函數(shù)。

面向過程 VS 面向?qū)ο? referrerpolicy=

舉個(gè)例子,下五子棋,面向過程的設(shè)計(jì)思路是首先分析解決這個(gè)問題的步驟:

(1)開始游戲(2)黑子先走(3)繪制畫面(4)判斷輸贏(5)輪到白子(6)繪制畫面(7)判斷輸贏(8)返回步驟(2) (9)輸出最后結(jié)果。

用函數(shù)實(shí)現(xiàn)上面一個(gè)一個(gè)的步驟,然后在下五子棋的主函數(shù)里依次調(diào)用上面的函數(shù)(不同的編程語(yǔ)言有不同的調(diào)用方法,我這里寫的是直接調(diào)用):

下五子棋{

開始游戲();

黑子先走();

繪制畫面();

判斷輸贏();

輪到白子();

繪制畫面();

判斷輸贏();

返回到?黑子先走();

輸出最后結(jié)果;

}

可見,面向過程始終關(guān)注的是怎么一步一步地判斷棋局輸贏的,通過控制代碼,從而實(shí)現(xiàn)函數(shù)的順序執(zhí)行。

2. 面向?qū)ο?/h2>

在日常生活或編程中,簡(jiǎn)單的問題可以用面向過程的思路來解決,直接有效,但是當(dāng)問題的規(guī)模變得更大時(shí),用面向過程的思想是遠(yuǎn)遠(yuǎn)不夠的。所以慢慢就出現(xiàn)了面向?qū)ο蟮木幊趟枷搿J澜缟嫌泻芏嗳撕褪挛?,每一個(gè)都可以看做一個(gè)對(duì)象,而每個(gè)對(duì)象都有自己的屬性和行為,對(duì)象與對(duì)象之間通過方法來交互。面向?qū)ο笫且环N以“對(duì)象”為中心的編程思想,把要解決的問題分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟,而是為了描敘某個(gè)對(duì)象在整個(gè)解決問題的步驟中的屬性和行為。

面向過程 VS 面向?qū)ο? referrerpolicy=

在下五子棋的例子中,用面向?qū)ο蟮姆椒▉斫鉀Q的話,首先將整個(gè)五子棋游戲分為三個(gè)對(duì)象:

(1)黑白雙方,這兩方的行為是一樣的。

(2)棋盤系統(tǒng),負(fù)責(zé)繪制畫面

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

然后賦予每個(gè)對(duì)象一些屬性和行為:

(4)第一類對(duì)象(黑白雙方)負(fù)責(zé)接受用戶輸入,并告知第二類對(duì)象(棋盤系統(tǒng))棋子布局的變化,棋盤系統(tǒng)接收到了棋子的變化,并負(fù)責(zé)在屏幕上面顯示出這種變化,同時(shí)利用第三類對(duì)象(規(guī)則系統(tǒng))來對(duì)棋局進(jìn)行判定。

可以看出,面向?qū)ο笫且怨δ軄韯澐謫栴},而不是以步驟解決。比如繪制畫面這個(gè)行為,在面向過程中是分散在了多個(gè)步驟中的,可能會(huì)出現(xiàn)不同的繪制版本,所以要考慮到實(shí)際情況進(jìn)行各種各樣的簡(jiǎn)化。而面向?qū)ο蟮脑O(shè)計(jì)中,繪圖只可能在棋盤系統(tǒng)這個(gè)對(duì)象中出現(xiàn),從而保證了繪圖的統(tǒng)一。

3. 優(yōu)缺點(diǎn)比較

面向過程

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

流程化使得編程任務(wù)明確,在開發(fā)之前基本考慮了實(shí)現(xiàn)方式和最終結(jié)果,具體步驟清楚,便于節(jié)點(diǎn)分析。

效率高,面向過程強(qiáng)調(diào)代碼的短小精悍,善于結(jié)合數(shù)據(jù)結(jié)構(gòu)來開發(fā)高效率的程序。

缺點(diǎn):

需要深入的思考,耗費(fèi)精力,代碼重用性低,擴(kuò)展能力差,后期維護(hù)難度比較大。

面向?qū)ο?/h3>

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

結(jié)構(gòu)清晰,程序是模塊化和結(jié)構(gòu)化,更加符合人類的思維方式;

易擴(kuò)展,代碼重用率高,可繼承,可覆蓋,可以設(shè)計(jì)出低耦合的系統(tǒng);

易維護(hù),系統(tǒng)低耦合的特點(diǎn)有利于減少程序的后期維護(hù)工作量。

缺點(diǎn):

開銷大,當(dāng)要修改對(duì)象內(nèi)部時(shí),對(duì)象的屬性不允許外部直接存取,所以要增加許多沒有其他意義、只負(fù)責(zé)讀或?qū)懙男袨椤_@會(huì)為編程工作增加負(fù)擔(dān),增加運(yùn)行開銷,并且使程序顯得臃腫。

性能低,由于面向更高的邏輯抽象層,使得面向?qū)ο笤趯?shí)現(xiàn)的時(shí)候,不得不做出性能上面的犧牲,計(jì)算時(shí)間和空間存儲(chǔ)大小都開銷很大。

舉例說明兩者的優(yōu)缺點(diǎn),比如在五子棋游戲中增加悔棋的功能。在面向過程中,從輸入到顯示再到最后判斷的整個(gè)步驟都要改動(dòng),甚至函數(shù)的調(diào)用順序也要改動(dòng),而在面向?qū)ο蟮脑O(shè)計(jì)中,只需在棋盤系統(tǒng)中增加一個(gè)回溯的功能就可以了,黑白雙方和規(guī)則系統(tǒng)的屬性和行為都不需改動(dòng)。這個(gè)例子說明了面向?qū)ο蟪绦蛟O(shè)計(jì)中代碼間的相關(guān)性低(低耦合特性),使得代碼很容易被復(fù)用和擴(kuò)展,同時(shí)也說明了面向過程的代碼重用性低、擴(kuò)展能力差。

以上內(nèi)容轉(zhuǎn)自編程少年青少年編程愛好者學(xué)習(xí)交流社區(qū) - 編程少年文章來源地址http://www.zghlxwxcb.cn/news/detail-474752.html

到了這里,關(guān)于面向過程 VS 面向?qū)ο蟮奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • linux基本功之fsck命令詳解

    linux基本功之fsck命令詳解

    ?? 大家好,我是沐風(fēng)曉月,雙一流院校英語(yǔ)+計(jì)算機(jī)雙專業(yè)在讀; ?? 想要學(xué)好Linux,命令是基本功,企業(yè)中常用的命令大約200多個(gè),不管是寫shell腳本還是管理操作系統(tǒng),最常用的命令必須要牢牢掌握,像我們以前學(xué)乘法口訣一樣,爛熟于心,唯有如此,才能打牢基礎(chǔ)。 ??

    2024年02月06日
    瀏覽(19)
  • linux基本功系列之su命令

    linux基本功系列之su命令

    前言?????? 想要學(xué)好Linux,命令是基本功,企業(yè)中常用的命令大約200多個(gè),不管是寫shell腳本還是管理操作系統(tǒng),最常用的命令必須要牢牢掌握,像我們以前學(xué)乘法口訣一樣,爛熟于心,唯有如此,才能打牢基礎(chǔ)。 ?? 知識(shí)最重要的是記憶 ?? 入門須知: 想要人生從容,必

    2024年01月22日
    瀏覽(20)
  • linux基本功系列之mount命令實(shí)戰(zhàn)

    linux基本功系列之mount命令實(shí)戰(zhàn)

    大家好,又見面了,我是沐風(fēng)曉月,本文是專欄【linux基本功-基礎(chǔ)命令實(shí)戰(zhàn)】的第50篇文章。 專欄地址:[linux基本功-基礎(chǔ)命令專欄] , 此專欄是沐風(fēng)曉月對(duì)Linux常用命令的匯總,希望能夠加深自己的印象,以及幫助到其他的小伙伴????。 如果文章有什么需要改進(jìn)的地方還請(qǐng)

    2024年02月04日
    瀏覽(23)
  • Linux基本功系列之ping命令實(shí)戰(zhàn)

    Linux基本功系列之ping命令實(shí)戰(zhàn)

    前言?????? 想要學(xué)好Linux,命令是基本功,企業(yè)中常用的命令大約200多個(gè),不管是寫shell腳本還是管理操作系統(tǒng),最常用的命令必須要牢牢掌握,像我們以前學(xué)乘法口訣一樣,爛熟于心,唯有如此,才能打牢基礎(chǔ)。 ?? 知識(shí)最重要的是記憶 ?? 入門須知: 想要人生從容,必

    2024年02月02日
    瀏覽(27)
  • linux基本功之歷史記錄history命令實(shí)戰(zhàn)

    linux基本功之歷史記錄history命令實(shí)戰(zhàn)

    ?? 想要學(xué)好Linux,命令是基本功,企業(yè)中常用的命令大約200多個(gè),不管是寫shell腳本還是管理操作系統(tǒng),最常用的命令必須要牢牢掌握,像我們以前學(xué)乘法口訣一樣,爛熟于心,唯有如此,才能打牢基礎(chǔ)。 ?? 只要地球不爆炸,我們永遠(yuǎn)不放假,只要宇宙不重啟,我們永遠(yuǎn)不

    2024年02月08日
    瀏覽(98)
  • linux基本功之列之wget命令實(shí)戰(zhàn)

    linux基本功之列之wget命令實(shí)戰(zhàn)

    大家好,又見面了,我是沐風(fēng)曉月,本文是專欄【linux基本功-基礎(chǔ)命令實(shí)戰(zhàn)】的第56篇文章。 專欄地址:[linux基本功-基礎(chǔ)命令專欄] , 此專欄是沐風(fēng)曉月對(duì)Linux常用命令的匯總,希望能夠加深自己的印象,以及幫助到其他的小伙伴????。 如果文章有什么需要改進(jìn)的地方還請(qǐng)

    2024年02月02日
    瀏覽(15)
  • linux基本功系列之sudo命令實(shí)戰(zhàn)一

    linux基本功系列之sudo命令實(shí)戰(zhàn)一

    前言?????? 想要學(xué)好Linux,命令是基本功,企業(yè)中常用的命令大約200多個(gè),不管是寫shell腳本還是管理操作系統(tǒng),最常用的命令必須要牢牢掌握,像我們以前學(xué)乘法口訣一樣,爛熟于心,唯有如此,才能打牢基礎(chǔ)。 ?? 知識(shí)最重要的是記憶 ?? 入門須知: 想要人生從容,必

    2024年02月05日
    瀏覽(12)
  • 用vue實(shí)現(xiàn)列表的增刪改查基本功能(簡(jiǎn)單易懂)

    用vue實(shí)現(xiàn)列表的增刪改查基本功能(簡(jiǎn)單易懂)

    目錄 文章目錄 前言 一、安裝vue 二、使用vue 三、相關(guān)代碼 四、效果圖如下 隨著人工智能的不斷發(fā)展,機(jī)器學(xué)習(xí)這門技術(shù)也越來越重要,很多人都開啟了學(xué)習(xí)機(jī)器學(xué)習(xí),本文就介紹了機(jī)器學(xué)習(xí)的基礎(chǔ)內(nèi)容。 提示:以下是本篇文章正文內(nèi)容,下面案例可供參考 vue開發(fā)文檔參考

    2024年02月11日
    瀏覽(24)
  • 【MySQL】MySQL觸發(fā)器入門寶典,助力MySQL初學(xué)者打下基本功

    【MySQL】MySQL觸發(fā)器入門寶典,助力MySQL初學(xué)者打下基本功

    ?????作者名稱:DaenCode ??作者簡(jiǎn)介:啥技術(shù)都喜歡搗鼓搗鼓,喜歡分享技術(shù)、經(jīng)驗(yàn)、生活。 ??人生感悟:嘗盡人生百味,方知世間冷暖。 ??所屬專欄:重溫MySQL 在MySQL數(shù)據(jù)庫(kù)中,大家都聽過觸發(fā)器。對(duì)于MySQL初學(xué)者而言,理解觸發(fā)器的概念和應(yīng)用是非常重要的。本文主

    2024年02月15日
    瀏覽(20)
  • 前端基本功 用 React Hooks + Antd 實(shí)現(xiàn)一個(gè) Todo-List

    前端基本功 用 React Hooks + Antd 實(shí)現(xiàn)一個(gè) Todo-List

    To-do list(待辦事項(xiàng)列表)是用來記錄和管理要完成的任務(wù)、活動(dòng)或項(xiàng)目的列表。它是一種簡(jiǎn)單而常見的工具,用于幫助人們組織和安排日常生活中的任務(wù)。每當(dāng)您有一項(xiàng)任務(wù)需要完成或者要記住某些事情時(shí),您可以將它添加到待辦事項(xiàng)列表中。 學(xué)習(xí)前端的一些新知識(shí)時(shí),經(jīng)

    2024年02月17日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包