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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

初学者的困惑:OOP与一般编程的区别

發(fā)布時(shí)間:2025/4/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初学者的困惑:OOP与一般编程的区别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

*在寫《程序猿的思維修煉》隨筆中,我們大概猜想到了,OOP的思想更趨于模塊化,更獨(dú)立,因此稱為一個(gè)個(gè)對(duì)象,本次隨筆將對(duì)OOP和一般編程的區(qū)別有更詳細(xì)的解釋

?

面向?qū)ο缶幊痰暮x:

  面向?qū)ο缶幊淌莿?chuàng)建計(jì)算機(jī)應(yīng)用程序的一種相當(dāng)新的方法,它解決了傳統(tǒng)編程技巧帶來的許多問題。一般的的編程方法稱為函數(shù)(或過程)化編程,常常會(huì)導(dǎo)致所謂的單一應(yīng)用程序,即所有的功能都包含在幾個(gè)代碼模塊中(常常是一個(gè)代碼模塊)。而使用OOP技術(shù),常常要使用許多代碼模塊,每個(gè)模塊都提供特定的功能,每個(gè)模塊都是孤立的,甚至與其他模塊完全獨(dú)立。這種模塊化編程方法提供了非常大的多樣性,大大增加了重用代碼的機(jī)會(huì)。

  要進(jìn)一步說明這個(gè)問題,假定計(jì)算機(jī)上的一個(gè)高性能應(yīng)用程序是一輛一流賽車。如果使用傳統(tǒng)的編程技巧,這輛賽車就是一個(gè)單元。如果要改進(jìn)該車,就必須替換整車,把它送回廠商那里,讓汽車專家升級(jí)它,或者購(gòu)買一輛新車。如果使用OOP技術(shù),就只需從廠商處購(gòu)買新的引擎,自己按照其說明替換它,而不必用鋼鋸切割車體。

  在傳統(tǒng)的應(yīng)用程序中,執(zhí)行流常常是簡(jiǎn)單的、線性的。把應(yīng)用程序加載到內(nèi)存中,從A點(diǎn)開始執(zhí)行,在B點(diǎn)結(jié)束,然后從內(nèi)存中卸載,在這個(gè)過程中可能用到其他各種實(shí)體,例如存儲(chǔ)介質(zhì)上的文件或顯卡的功能,但處理的主體總是位于一個(gè)地方。此時(shí)的代碼一般與使用各種數(shù)學(xué)和邏輯方式處理數(shù)據(jù)相關(guān)。處理方法通常比較簡(jiǎn)單,使用基本的數(shù)據(jù)類型,例如整型和布爾值,建立比較復(fù)雜的數(shù)據(jù)表達(dá)方式。

  而使用OOP,事情就不是這么直接了。盡管可以獲得相同的效果,但其實(shí)現(xiàn)方式是完全不同的。OOP技術(shù)以結(jié)構(gòu)、數(shù)據(jù)的含義以及數(shù)據(jù)和數(shù)據(jù)之間的交互操作為基礎(chǔ)。這通常意味著要把更多的精力放在項(xiàng)目的設(shè)計(jì)階段,但項(xiàng)目的可擴(kuò)展性比較高。一旦對(duì)某種類型的數(shù)據(jù)的表達(dá)方式達(dá)成一致,這種表達(dá)方式就會(huì)應(yīng)用到應(yīng)用程序以后的版本中,甚至是全新的應(yīng)用程序中。這種一致的表達(dá)方式可以大大減少開發(fā)時(shí)間。這就是上述賽車示例的工作原理。這里的一致是"引擎"的代碼是結(jié)構(gòu)化的,這樣就可以很容易地替換成新代碼(即新引擎),而不需要找廠商幫忙。這也表示,引擎創(chuàng)建出來后可以用于其他目的,可以把它安裝到另一輛車上,或者用它驅(qū)動(dòng)潛艇。

  除了數(shù)據(jù)表達(dá)方式的一致性外,OOP編程還常常可以簡(jiǎn)化任務(wù),因?yàn)檩^抽象實(shí)體的結(jié)構(gòu)和用法也是一致的。例如,不僅把輸出結(jié)果發(fā)送給設(shè)備(如打印機(jī))所使用的數(shù)據(jù)格式是一致的,而且與該設(shè)備交換數(shù)據(jù)的方法也是一致的,這包括它理解的指令等等。回到賽車的示例上,要達(dá)成的一致包括引擎如何連接到油箱上,如何把驅(qū)動(dòng)力傳送給車輪等。

  顧名思義,OOP技術(shù)要使用對(duì)象。

?

面向?qū)ο蟮乃膫€(gè)基本特征:

    ①抽象:抽象就是忽略一個(gè)主題中與當(dāng)前目標(biāo)無(wú)關(guān)的那些方面,以便更充分地注意與當(dāng)前目標(biāo)有關(guān)的方面。抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時(shí)不用部分細(xì)節(jié)。比如,我們要設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng),考察學(xué)生這個(gè)對(duì)象時(shí),我們只關(guān)心他的班級(jí)、學(xué)號(hào)、成績(jī)等,而不用去關(guān)心他的身高、體重這些信息。抽象包括兩個(gè)方面,一是過程抽象,二是數(shù)據(jù)抽象。過程抽象是指任何一個(gè)明確定義功能的操作都可被使用者看作單個(gè)的實(shí)體看待,盡管這個(gè)操作實(shí)際上可能由一系列更低級(jí)的操作來完成。數(shù)據(jù)抽象定義了數(shù)據(jù)類型和施加于該類型對(duì)象上的操作,并限定了對(duì)象的值只能通過使用這些操作修改和觀察。

    ②繼承:繼承是一種聯(lián)結(jié)類的層次模型,并且允許和鼓勵(lì)類的重用,它提供了一種明確表述共性的方法。對(duì)象的一個(gè)新類可以從現(xiàn)有的類中派生,這個(gè)過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那里繼承方法和實(shí)例變量,并且類可以修改或增加新的方法使之更適合特殊的需要。這也體現(xiàn)了大自然中一般與特殊的關(guān)系。繼承性很好的解決了軟件的可重用性問題。比如說,所有的Windows應(yīng)用程序都有一個(gè)窗口,它們可以看作都是從一個(gè)窗口類派生出來的。但是有的應(yīng)用程序用于文字處理,有的應(yīng)用程序用于繪圖,這是由于派生出了不同的子類,各個(gè)子類添加了不同的特性。

    ③封裝:封裝是面向?qū)ο蟮奶卣髦?#xff0c;是對(duì)象和類概念的主要特性。封裝是把過程和數(shù)據(jù)包圍起來,對(duì)數(shù)據(jù)的訪問只能通過已定義的界面。面向?qū)ο笥?jì)算始于這個(gè)基本概念,即現(xiàn)實(shí)世界可以被描繪成一系列完全自治、封裝的對(duì)象,這些對(duì)象通過一個(gè)受保護(hù)的接口訪問其他對(duì)象。一旦定義了一個(gè)對(duì)象的特性,則有必要決定這些特性的可見性,即哪些特性對(duì)外部世界是可見的,哪些特性用于表示內(nèi)部狀態(tài)。在這個(gè)階段定義對(duì)象的接口。通常,應(yīng)禁止直接訪問一個(gè)對(duì)象的實(shí)際表示,而應(yīng)通過操作接口訪問對(duì)象,這稱為信息隱藏。事實(shí)上,信息隱藏是用戶對(duì)封裝性的認(rèn)識(shí),封裝則為信息隱藏提供支持。封裝保證了模塊具有較好的獨(dú)立性,使得程序維護(hù)修改較為容易。對(duì)應(yīng)用程序的修改僅限于類的內(nèi)部,因而可以將應(yīng)用程序修改帶來的影響減少到最低限度。

    ④多態(tài):多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。比如同樣的加法,把兩個(gè)時(shí)間加在一起和把兩個(gè)整數(shù)加在一起肯定完全不同。又比如,同樣的選擇編輯-粘貼操作,在字處理程序和繪圖程序中有不同的效果。多態(tài)性包括參數(shù)化多態(tài)性和包含多態(tài)性。多態(tài)性語(yǔ)言具有靈活、抽象、行為共享、代碼共享的優(yōu)勢(shì),很好的解決了應(yīng)用程序函數(shù)同名問題。

?

面向?qū)ο蟮膬?yōu)點(diǎn):

  ①開發(fā)時(shí)間短,效率高,可靠性高,所開發(fā)的程序更強(qiáng)壯。由于面向?qū)ο缶幊痰目芍赜眯?#xff0c;可以在應(yīng)用程序中大量采用成熟的類庫(kù),從而縮短了開發(fā)時(shí)間。
  ②應(yīng)用程序更易于維護(hù)、更新和升級(jí)。繼承和封裝使得應(yīng)用程序的修改帶來的影響更加局部化。

?

轉(zhuǎn)載于:https://www.cnblogs.com/yimengxianzhi/p/7802021.html

總結(jié)

以上是生活随笔為你收集整理的初学者的困惑:OOP与一般编程的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 神马午夜久久 | 成人综合站| 亚洲色图国产精品 | 国产tv在线观看 | 色女人网 | 国产在线视频导航 | 丰满岳乱妇一区二区三区 | 国产一区二区视频免费观看 | 日韩高清二区 | 鲁丝一区二区 | 日韩在线高清 | 久久久久国产精品国产 | 4438五月天 | 日韩视频在线观看免费 | 亚洲精品日本 | 成人合集 | 精品少妇人妻AV无码专区在线 | 偷拍亚洲另类 | 粗大的内捧猛烈进出 | 亚洲第一天堂av | 亚洲va欧美va天堂v国产综合 | 中国美女乱淫免费看视频 | 成人激情自拍 | 少妇激情一区二区三区视频 | 天天干天天做天天操 | 伊人操 | 久久h视频| 超碰女人 | 天天网综合 | 精品国产乱码久久久久久预案 | 欧美国产日本在线 | 亚洲国产无码久久 | 日韩精品在线观看免费 | 韩日精品在线 | 亚洲天堂成人在线 | 成人亚洲一区二区 | 亚洲精品一品 | 91精品美女 | 91娇羞白丝网站 | 少妇全黄性生交片 | 青青艹av| 欧美理论在线 | 欧美熟妇交换久久久久久分类 | 欧美巨大荫蒂茸毛毛人妖 | 成年人午夜免费视频 | 夜夜嗨一区二区三区 | av特黄| 无码精品a∨在线观看中文 福利片av | 黑帮大佬和我的365日第二部 | 日本视频在线免费观看 | 91精品国产综合久久久密臀九色 | 免费的黄网站 | 婷婷六月网 | 中文字幕在线欧美 | 欧美大片高清免费观看 | 成人在线视频在线观看 | 日本免费高清视频 | 亚洲天堂2024 | 国产18在线观看 | 五月激情六月 | 精品不卡一区 | 欧美日日日 | 91精品视频免费 | 成人毛片18女人 | 性做久久久久久久久久 | 国产欧美一区二区三区精华液好吗 | 1000亚洲裸体人体 | 好吊操精品视频 | 乱子伦一区二区三区 | 无码国产精品高潮久久99 | 草久久 | 久久另类ts人妖一区二区 | 五月婷婷激情视频 | 岛国精品资源网站 | a国产精品 | 91成年人视频 | 午夜精品一区二区三区在线 | 农村妇女精品一区二区 | 欧美激情在线一区二区 | 午夜亚洲福利在线老司机 | 久久综合久久鬼 | 亚洲综合一| 免费观看黄色 | 成人国产精品一区二区 | 白丝美女被草 | 欧美色精品 | 三级av| 国模av在线| 最近中文字幕免费 | 精品人妻一区二区三区香蕉 | 阿v视频免费在线观看 | 亚洲性猛交 | 日本打屁股网站 | 在线中文字幕网站 | 国产一区二区三区四区五区 | 欧美激情在线 | 婷婷伊人 | a色网站| 亚洲人天堂 |