日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

C语言知识分享:面向对象和面向过程到底是怎么回事?

發(fā)布時(shí)間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言知识分享:面向对象和面向过程到底是怎么回事? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

今天下午在一個(gè)組的項(xiàng)目回顧會(huì)議上,這個(gè)同事講了自己用DDD思想對(duì)三個(gè)模塊的重構(gòu)。把之前在Service層的一些業(yè)務(wù)邏輯下沉到了領(lǐng)域?qū)永?#xff0c;由之而引起的討論。

部門經(jīng)理:“其實(shí)你的業(yè)務(wù)邏輯總體并沒有少,只是把邊界重新劃分了一下。”

一起參與開發(fā)的同事:“在第二個(gè)模塊中(任務(wù)系統(tǒng),包括了任務(wù)拆分,狀態(tài)跟蹤等)這種思想比較有優(yōu)勢(shì),在一三項(xiàng)目中不是很明顯。”

于是引出了我的一個(gè)問題:“到底什么是面向?qū)ο?#xff0c;什么是面向過程,在什么情況下適合面向?qū)ο?#xff0c;什么場(chǎng)景下適用于面向過程?”

以C語(yǔ)言和Java語(yǔ)言為例: C語(yǔ)言沒有類,但是有結(jié)構(gòu)體,結(jié)構(gòu)體中不能有函數(shù),只能有屬性。這說明了什么?說明了在面向過程的思考方式中,數(shù)據(jù)和操作是嚴(yán)格分離的

C語(yǔ)言中為什么函數(shù)需要定義到調(diào)用此函數(shù)的前面,也就是說先聲明后調(diào)用?如果按照流程化的思路來看這種設(shè)計(jì)方式,想要調(diào)用一個(gè)子流程,勢(shì)必要在調(diào)用之前就定義好

而在java的類中,就沒有函數(shù)定義先后的問題,這與面向過程和面向?qū)ο蟮淖钚《x粒度有關(guān),面向過程的最小定義粒度為流程(方法、操作、函數(shù)),而在面向?qū)ο笾?#xff0c;最小定義粒度為對(duì)象,這個(gè)對(duì)象的行為沒有先后,包含在對(duì)象這個(gè)大的容器中。

封裝、抽象、繼承、多態(tài)其實(shí)就是類比的對(duì)象進(jìn)行的建模,比如以人為例,人有些屬性不想示人,有些屬性只能給指定的人了解,這就是封裝。人掌握的知識(shí)其實(shí)是現(xiàn)象的一種抽象。人繼承來來自父母的一些生活習(xí)慣,而又有所不同,這就是多態(tài)。

歸總,子類相對(duì)父類來說有不同的模型(對(duì)真實(shí)世界的建模),這是4種面向?qū)ο蟮慕K極原因。

為什么面向?qū)ο蟮乃伎挤绞礁欣跀U(kuò)展維護(hù)?拿一個(gè)工作崗位為例,一個(gè)人在一個(gè)工作崗位上,如果有一天這個(gè)崗位有了更多的工作要求,如果改動(dòng)量較小,那么對(duì)該崗位的人進(jìn)行技能培訓(xùn)就可以了。如果要求多到一種程度,拆分成兩個(gè)人,或者拆分成多個(gè)崗位。而如果用面向過程的思路,那么每次改動(dòng),都相當(dāng)于多了一個(gè)流程?(這里存疑,多流程的問題在哪?難維護(hù)的理由是什么?這里我沒有想明白

面向過程要求人有更好的流程化思維方式,面向?qū)ο笠笕擞懈玫某橄笏季S方式。那么如果有一天出現(xiàn)一個(gè)“面向文檔編程”呢?要求人有更好的把問題描述清楚的表達(dá)能力。換句話說,面向過程就是面向流程思考,面向?qū)ο缶褪轻槍?duì)模型思考

最后距離,如果我們描述入職流程,一個(gè)大牛的入職流程可能和一個(gè)應(yīng)屆生的入職流程完全不一樣,如果把入職這個(gè)行為寫到employee的方法中,那么這就是面向?qū)ο蟮膶懛?#xff0c;如果維護(hù)一個(gè)入職流程的方法,根據(jù)不同的人用switch

case的方式進(jìn)行不同行為的跳轉(zhuǎn),那么就是面向過程。

? ? ? ? ? ? ? ? ? ? ? ?

面向過程就是面向流程思考,面向?qū)ο缶褪轻槍?duì)模型思考

想要在程序員生涯內(nèi)有更高的成就的話,C/C++就是一個(gè)既可以強(qiáng)化思維能力,又可以打好編程基礎(chǔ)的編程語(yǔ)言,你想要做軟件開發(fā),成為核心程序員的話,可以選擇學(xué)好C/C++。如果感覺自學(xué)C/C++編程有困難的話可以湫湫掃下方二維碼。這里是編程愛好者的聚集地,歡迎初學(xué)和進(jìn)階中的小伙伴。希望你也能憑自己的努力,成為下一個(gè)優(yōu)秀的程序員。

?

總結(jié)

以上是生活随笔為你收集整理的C语言知识分享:面向对象和面向过程到底是怎么回事?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。