面向過程和面向?qū)ο蟮膮^(qū)別 面向?qū)ο笈c面向過程有什么區(qū)別啊?
面向?qū)ο笈c面向過程有什么區(qū)別啊?面向?qū)ο螅豪?,在?gòu)建建筑時,您會考慮如何構(gòu)建建筑、在哪里有柱、在哪里有梁、在哪里有樓梯等(這是面向?qū)ο蟮模V劣谌绾螛?gòu)建柱、使用什么、正方形和圓形等等,這是面向?qū)ο蟮?/p>
面向?qū)ο笈c面向過程有什么區(qū)別?。?/h2>
面向?qū)ο螅豪?,在?gòu)建建筑時,您會考慮如何構(gòu)建建筑、在哪里有柱、在哪里有梁、在哪里有樓梯等(這是面向?qū)ο蟮模V劣谌绾螛?gòu)建柱、使用什么、正方形和圓形等等,這是面向?qū)ο蟮倪^程。使用面向?qū)ο蟮乃季S方式更符合我們的思維方式。事實上,我們在現(xiàn)實生活中都是面向?qū)ο蟮摹@?,?dāng)你去餐館時,你只需要解釋一下你吃了什么。有必要知道這道菜怎么做,從哪里來,怎么種?面向?qū)ο笠部梢哉f是從宏觀方面來思考,而面向過程可以說是從細(xì)節(jié)來思考。在面向?qū)ο笾校灿忻嫦蜻^程的。
什么是面向?qū)ο蠛兔嫦蜻^程?
面向流程:
面向流程是一種自頂向下的編程。
面向過程的優(yōu)勢:性能比面向?qū)ο蟮母?,因為類調(diào)用需要實例化,這會增加成本并消耗更多資源。例如,單片機、嵌入式開發(fā)、Linux/Unix等一般都采用面向過程的開發(fā),而性能是最重要的因素。
缺點:無面向?qū)ο蟆⒁拙S護、易重用、易擴展。
面向?qū)ο螅?/p>
面向?qū)ο笫鞘故挛锔叨瘸橄?。面向?qū)ο笫紫纫⒊橄竽P停缓笾苯邮褂媚P汀?/p>
優(yōu)點:易于維護、易于重用、易于擴展,因為面向?qū)ο缶哂蟹庋b性、繼承性、多態(tài)性的特點,可以設(shè)計一個低耦合的系統(tǒng),使系統(tǒng)更加靈活、易于維護。面向?qū)ο蠹夹g(shù)具有程序結(jié)構(gòu)清晰、程序框架自動生成、實現(xiàn)簡單、有效減少程序維護工作量、代碼重用率高、軟件開發(fā)效率高等優(yōu)點。
缺點:由于類調(diào)用需要實例化,成本相對較大,資源消耗相對較高,性能低于面向進程的。
怎么理解“面向?qū)ο蟆焙汀懊嫦蜻^程”?
首先,讓我們從編程語言的角度來看兩者的區(qū)別。
最典型的面向過程編程語言是C語言,面向?qū)ο笳Z言包括C、Java、C#。
在C語言中,基本數(shù)據(jù)類型是變量、數(shù)組、結(jié)構(gòu)和函數(shù)。在使用這些數(shù)據(jù)類型進行編程時,主要考慮的是如何將要處理的數(shù)據(jù)放入適當(dāng)?shù)臄?shù)據(jù)類型中,并根據(jù)事件的順序調(diào)用函數(shù)來完成業(yè)務(wù)邏輯的處理。
在面向?qū)ο笳Z言中,最重要的概念是類,類實例化的結(jié)果是對象。在設(shè)計過程中,這種語言涉及到很多現(xiàn)實生活中的處理模型。例如,汽車是一個非常抽象的對象,但奔馳和寶馬是非常具體的。這些車可以分為高配置和低配置,并且可以駕駛。
這些汽車模型對應(yīng)于基類、派生類、屬性和方法的概念。因此,在使用面向?qū)ο缶幊虝r,數(shù)據(jù)的合理封裝是其主要的核心工作。
綜上所述,面向過程編程的核心技術(shù)是數(shù)據(jù)結(jié)構(gòu)和算法;面向?qū)ο缶幊痰暮诵募夹g(shù)是23種設(shè)計模式。我們必須熟練地掌握它!