最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

C/C++編程筆記:面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP),你真的知道嗎?

2021-04-07 20:18 作者:C語言編程__Plus  | 我要投稿

面向?qū)ο蟮脑O(shè)計(jì)從發(fā)明計(jì)算機(jī)的那一刻起就開始了。那里有編程,編程方法也應(yīng)運(yùn)而生。編程基本上是在向計(jì)算機(jī)提供某些指令。



在計(jì)算時(shí)代的開始,編程通常僅限于機(jī)器語言編程。機(jī)器語言是指特定于特定機(jī)器或處理器的那些指令集,其形式為0和1。這些是位序列(0100110…)。但是用機(jī)器語言編寫程序或開發(fā)軟件非常困難。

用當(dāng)今的場景開發(fā)使用位序列的軟件實(shí)際上是不可能的。這是程序員轉(zhuǎn)向下一代編程語言,開發(fā)匯編語言的主要原因,因?yàn)閰R編語言與英語足夠接近,易于理解。這些匯編語言用于微處理器。隨著微處理器的發(fā)明,匯編語言在整個(gè)工業(yè)中得到了繁榮和統(tǒng)治,但這還遠(yuǎn)遠(yuǎn)不夠。程序員再次想出了新的東西,即結(jié)構(gòu)化和過程式編程。



結(jié)構(gòu)化編程–

結(jié)構(gòu)化編程方法的基本原理是將程序分為功能和模塊。模塊和功能的使用使程序更易于理解和閱讀。它有助于編寫更簡潔的代碼,并保持對(duì)功能和模塊的控制。這種方法重視功能而不是數(shù)據(jù)。它專注于大型軟件應(yīng)用程序的開發(fā),例如,C用于現(xiàn)代操作系統(tǒng)開發(fā)。編程語言:PASCAL(由Niklaus Wirth引入)和C(由Dennis Ritchie引入)遵循這種方法。

程序編程方法–

這種方法也稱為自頂向下方法。在這種方法中,程序分為執(zhí)行特定任務(wù)的功能。此方法主要用于中型應(yīng)用程序。數(shù)據(jù)是全局的,所有功能都可以訪問全局?jǐn)?shù)據(jù)。程序編程方法的基本缺點(diǎn)是數(shù)據(jù)不安全,因?yàn)閿?shù)據(jù)是全局的并且可以由任何功能訪問。程序控制流程是通過函數(shù)調(diào)用和goto語句實(shí)現(xiàn)的。編程語言:FORTRAN(由IBM開發(fā))和COBOL(由Grace Murray Hopper博士開發(fā))遵循這種方法。

這些編程結(jié)構(gòu)是在1970年代末和1980年代開發(fā)的。這些語言雖然滿足了結(jié)構(gòu)良好的程序,軟件等的標(biāo)準(zhǔn),但仍然存在一些問題。它們的結(jié)構(gòu)不如當(dāng)時(shí)的要求。它們似乎過于籠統(tǒng),與實(shí)時(shí)應(yīng)用程序無關(guān)。

為了解決這類問題,開發(fā)了面向?qū)ο蟮姆椒∣OP作為解決方案。



面向?qū)ο缶幊蹋∣OP)的方法–

OOP的概念基本上是為了克服上述編程方法的缺點(diǎn)而設(shè)計(jì)的,該方法與現(xiàn)實(shí)世界中的應(yīng)用不太接近。需求增加了,但是仍然使用常規(guī)方法。這種新方法帶來了編程方法學(xué)領(lǐng)域的一場革命。

面向?qū)ο缶幊蹋∣OP)就是什么,它允許在某些類和實(shí)時(shí)對(duì)象的幫助下編寫程序。我們可以說這種方法與現(xiàn)實(shí)世界及其應(yīng)用非常接近,因?yàn)檫@些類和對(duì)象的狀態(tài)和行為與現(xiàn)實(shí)世界對(duì)象幾乎相同。

讓我們更深入地介紹OOP的一般概念,如下所示:

什么是類和對(duì)象?

這是OOP的基本概念;C語言中使用的結(jié)構(gòu)的擴(kuò)展概念。它是抽象的且用戶定義的數(shù)據(jù)類型。它由幾個(gè)變量和函數(shù)組成。該類的主要目的是存儲(chǔ)數(shù)據(jù)和信息。類的成員定義類的行為。類是對(duì)象的藍(lán)圖,但是,我們可以說類的實(shí)現(xiàn)是對(duì)象。該類對(duì)世界不可見,但對(duì)象可見。

在這里,類汽車具有屬性car_id,顏色,engine_no和距離。它類似于具有相同規(guī)格的現(xiàn)實(shí)世界中的汽車,可以將其聲明為公開(對(duì)班級(jí)以外的所有人可見),受保護(hù)和私有(對(duì)任何人都不可見)。另外,還有一些方法,例如distance_travelled(),petrol_used(),music_player()和display()。在下面給出的代碼中,汽車是類,而c1是汽車的對(duì)象。

數(shù)據(jù)抽象–

抽象是指表示重要特征和特殊特征而不包含背景細(xì)節(jié)或?qū)υ撎卣鞯慕忉尩男袨?。?shù)據(jù)抽象簡化了數(shù)據(jù)庫設(shè)計(jì)。



物理級(jí)別:

它描述了記錄的存儲(chǔ)方式,這些記錄通常對(duì)用戶是隱藏的。可以用短語“存儲(chǔ)塊”來描述。

邏輯級(jí)別:

它描述存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)以及數(shù)據(jù)之間的關(guān)系。程序員通常在此級(jí)別上工作,因?yàn)樗麄冎谰S護(hù)數(shù)據(jù)之間的關(guān)系所需的功能。

查看級(jí)別:

應(yīng)用程序出于安全目的隱藏?cái)?shù)據(jù)類型和信息的詳細(xì)信息。此級(jí)別通常在GUI的幫助下實(shí)現(xiàn),并顯示了針對(duì)用戶的詳細(xì)信息。

封裝–

封裝是面向?qū)ο缶幊蹋∣OP)中的基本概念之一。它描述了包裝數(shù)據(jù)的思想以及在一個(gè)單元(例如Java中的類)中處理數(shù)據(jù)的方法。此概念通常用于從外部隱藏對(duì)象的內(nèi)部狀態(tài)表示。

繼承–

繼承是一個(gè)類繼承父類的另一類的功能或?qū)傩缘哪芰?。?dāng)我們編寫一個(gè)類時(shí),我們從其他類繼承屬性。因此,當(dāng)我們創(chuàng)建一個(gè)類時(shí),我們不需要一次又一次地編寫所有屬性和函數(shù),因?yàn)樗鼈兛梢詮膿碛兴牧硪粋€(gè)類中繼承。繼承使用戶可以在可能的情況下重用代碼并減少其冗余。


多態(tài)性–

多態(tài)性是指以多種形式處理數(shù)據(jù)的能力。它允許以各種方式執(zhí)行同一任務(wù)。它由方法重載和方法重寫組成,即,一次編寫方法并使用相同的方法名稱執(zhí)行許多任務(wù)。


有關(guān)OOP的一些重要知識(shí):

OOP將數(shù)據(jù)視為關(guān)鍵要素。

重點(diǎn)是數(shù)據(jù)而不是程序。

將問題分解為更簡單的模塊。

不允許數(shù)據(jù)在整個(gè)系統(tǒng)中自由流動(dòng),即局部控制流。

數(shù)據(jù)受到外部功能的保護(hù)。

OOP的優(yōu)勢–

它很好地模擬了現(xiàn)實(shí)世界。

使用OOP,程序易于理解和維護(hù)。

OOP提供代碼可重用性。已經(jīng)創(chuàng)建的類可以重復(fù)使用,而不必再次編寫它們。

OOP促進(jìn)了可以并行開發(fā)類的程序的快速開發(fā)。

使用OOP,程序更易于測試,管理和調(diào)試。

OOP的缺點(diǎn)–

使用OOP時(shí),有時(shí)會(huì)過度概括類。

階級(jí)之間的關(guān)系有時(shí)變得膚淺。

OOP設(shè)計(jì)很棘手,需要適當(dāng)?shù)闹R(shí)。另外,需要對(duì)OOP編程進(jìn)行適當(dāng)?shù)囊?guī)劃和設(shè)計(jì)。

要使用OOP進(jìn)行編程,程序員需要適當(dāng)?shù)募寄?,例如根?jù)對(duì)象和類等進(jìn)行設(shè)計(jì),編程和思考的技能。

文章來源丨極客(geeksforGeeks)

每天學(xué)點(diǎn)小知識(shí),希望對(duì)你有幫助~


另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

微信公眾號(hào):C語言編程學(xué)習(xí)基地

分享(源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!


C/C++編程筆記:面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP),你真的知道嗎?的評(píng)論 (共 條)

分享到微博請遵守國家法律
镇雄县| 海原县| 微山县| 锡林郭勒盟| 驻马店市| 新民市| 应城市| 惠来县| 濮阳县| 哈尔滨市| 舒城县| 辉南县| 舒兰市| 当涂县| 盈江县| 百色市| 斗六市| 专栏| 新兴县| 阿巴嘎旗| 潼南县| 弥勒县| 开平市| 绵竹市| 华宁县| 扬中市| 金平| 连城县| 吉隆县| 宜川县| 东宁县| 竹北市| 赤城县| 绵竹市| 淄博市| 尉犁县| 叙永县| 分宜县| 蓝田县| 依兰县| 辰溪县|