中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

林州網(wǎng)站建設(shè)外貿(mào)網(wǎng)站平臺(tái)

林州網(wǎng)站建設(shè),外貿(mào)網(wǎng)站平臺(tái),網(wǎng)頁(yè)界面設(shè)計(jì)的英文縮寫,怎樣瀏覽被國(guó)內(nèi)封禁的網(wǎng)站面向過(guò)程和面向?qū)ο蟮膮^(qū)別 面向過(guò)程:當(dāng)事件比較簡(jiǎn)單的時(shí)候,利用面向過(guò)程,注重的是事件的具體的步驟/過(guò)程,注重的是過(guò)程中的具體的行為,以函數(shù)為最小單位,考慮怎么做。 面向?qū)ο?amp;#xff1a;注重找“參與者…

面向過(guò)程和面向?qū)ο蟮膮^(qū)別

面向過(guò)程:當(dāng)事件比較簡(jiǎn)單的時(shí)候,利用面向過(guò)程,注重的是事件的具體的步驟/過(guò)程,注重的是過(guò)程中的具體的行為,以函數(shù)為最小單位,考慮怎么做。

面向?qū)ο?#xff1a;注重找“參與者”,將功能封裝進(jìn)對(duì)象,強(qiáng)調(diào)具備了功能的對(duì)象,以類/對(duì)象為最小單位,考慮誰(shuí)來(lái)做。

二者相輔相成,并不是對(duì)立的。

解決復(fù)雜問(wèn)題,可以通過(guò)面向?qū)ο蠓绞?#xff0c;便于我們從宏觀上把握事物之間復(fù)雜的關(guān)系;具體到微觀操作,仍然使用面向過(guò)程方式來(lái)處理。

面向?qū)ο笕齻€(gè)階段

【1】面向?qū)ο蠓治鯫OA -- Object Oriented Analysis

  • 從對(duì)象抽取出類
  • 類里面有什么
    • 動(dòng)詞--》動(dòng)態(tài)特性--》方法
    • 名詞--》靜態(tài)特性--》屬性

【2】面向?qū)ο笤O(shè)計(jì)OOD -- Object Oriented Design

  • 先有類,再有對(duì)象

【3】面向?qū)ο缶幊蘋OP -- Object Oriented Programming

如何理解Java的面向?qū)ο?/h2>

面向?qū)ο缶幊痰暮诵?#xff0c;主要是對(duì)象、類、封裝、繼承、多態(tài)以及抽象。

  • 首先是將萬(wàn)事萬(wàn)物都看成一個(gè)個(gè)具體的對(duì)象,而類就是抽取一部分對(duì)象共同的屬性、行為等構(gòu)建的一個(gè)用于創(chuàng)建這類對(duì)象的模板;
  • 封裝則是為了提高數(shù)據(jù)的安全性,通過(guò)訪問(wèn)修飾符去控制類的相關(guān)權(quán)限;
  • 繼承則是通過(guò)子類繼承父類的屬性和方法來(lái)提高代碼的復(fù)用,當(dāng)然也是多態(tài)的前置條件;
  • 而多態(tài)則是通過(guò)方法的重載和重寫,來(lái)簡(jiǎn)化程序的調(diào)用,提高代碼的靈活性和可拓展性;
  • 最后則是抽象,通過(guò)抽象類和接口的方式,來(lái)解決單繼承的不足,進(jìn)一步提高代碼的可拓展性和可維護(hù)性。

面向?qū)ο笕筇匦?/h2>

封裝(Encapsulation)

封裝的本質(zhì),就是把該隱藏的隱藏起來(lái),該暴露的暴露出來(lái)。

封裝的主要目的是隱藏對(duì)象內(nèi)部的復(fù)雜性和實(shí)現(xiàn)細(xì)節(jié),只對(duì)外公開簡(jiǎn)單的接口。

封裝是一種信息隱藏技術(shù),在java中通過(guò)訪問(wèn)修飾符(如private、protected、public等)來(lái)實(shí)現(xiàn),控制用戶對(duì)類的修改和訪問(wèn)數(shù)據(jù)的程度,其中private是最嚴(yán)格的訪問(wèn)級(jí)別,它限制了類外部對(duì)類內(nèi)部成員的訪問(wèn)。

適當(dāng)?shù)姆庋b可以讓程式碼更容易理解和維護(hù),也加強(qiáng)了程式碼的安全性。

封裝的好處

  1. 提高代碼的安全性:通過(guò)隱藏類的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),封裝可以防止外部代碼直接訪問(wèn)和修改類的內(nèi)部狀態(tài),從而減少了錯(cuò)誤的發(fā)生。

  2. 提高代碼的復(fù)用性:封裝使得類的內(nèi)部實(shí)現(xiàn)可以獨(dú)立于外部使用,因此可以在不同的上下文中重用同一個(gè)類。

  3. 提高代碼的可維護(hù)性:由于封裝隱藏了類的內(nèi)部實(shí)現(xiàn),因此當(dāng)需要修改類的內(nèi)部實(shí)現(xiàn)時(shí),只需要修改類的內(nèi)部代碼,而不需要修改使用該類的外部代碼。

封裝的設(shè)計(jì),也就是所謂的“高內(nèi)聚,低耦合”:

  • 高內(nèi)聚:類的內(nèi)部數(shù)據(jù)操作細(xì)節(jié)自己完成,不允許外部干涉;
  • 低耦合:僅對(duì)外暴露少量的方法用于使用。 隱藏對(duì)象內(nèi)部的復(fù)雜性,只對(duì)外公開簡(jiǎn)單的接口。便于外界調(diào)用,從而提高系統(tǒng)的可擴(kuò)展性、可維護(hù)性。

繼承(Inheritance)

繼承的本質(zhì)就是子類繼承父類所定義的內(nèi)容。

繼承就是讓一個(gè)類繼承另一個(gè)類的屬性和方法。通過(guò)繼承,子類可以重用父類的代碼,而不需要重新編寫相同的代碼。

繼承是代碼復(fù)用的重要手段之一,也是多態(tài)性的基礎(chǔ)。

繼承的好處

  1. 提高代碼的復(fù)用性:子類可以繼承父類的屬性和方法,從而避免了代碼的重復(fù)編寫。

  2. 便于代碼的擴(kuò)展:通過(guò)繼承,可以在不修改父類代碼的情況下,通過(guò)擴(kuò)展子類來(lái)添加新的功能。

  3. 支持多態(tài)性:多態(tài)性是面向?qū)ο缶幊痰囊粋€(gè)重要特性。

注意:?

  • 在Java中,一個(gè)類只能直接繼承一個(gè)父類(單繼承),但可以通過(guò)多層繼承來(lái)間接繼承多個(gè)類。

  • 繼承具有傳遞性,即子類會(huì)繼承父類以及父類的父類(直到Object類)的所有非私有屬性和方法。

  • 父類的私有成員(屬性和方法)雖然被子類繼承,但子類不能直接訪問(wèn)它們。子類只能通過(guò)父類提供的公共或受保護(hù)的方法來(lái)間接訪問(wèn)這些私有成員。

多態(tài)(Polymorphism)

多態(tài)的本質(zhì),就是通過(guò)對(duì)于同一個(gè)方法調(diào)用,然后由于其實(shí)現(xiàn)子類的不同,來(lái)實(shí)現(xiàn)不同的需求。

多態(tài)就是可以用統(tǒng)一的接口來(lái)操作不同的對(duì)象。當(dāng)通過(guò)父類類型的引用調(diào)用方法時(shí),由于多態(tài)的存在,會(huì)根據(jù)引用所指向的對(duì)象的實(shí)際類型來(lái)調(diào)用相應(yīng)的方法,這就實(shí)現(xiàn)了多態(tài)。

Java中的多態(tài)通過(guò)繼承和方法重寫實(shí)現(xiàn):

  1. 繼承:子類通過(guò)繼承獲得父類的屬性和方法,從而可以擴(kuò)展父類的功能。

  2. 方法重寫:子類根據(jù)需要重寫父類中的方法,以改變方法的行為。

多態(tài)的設(shè)計(jì),也就是所謂的“開閉原則”

  • 對(duì)擴(kuò)展是開放:可以通過(guò)實(shí)現(xiàn)不同子類,實(shí)現(xiàn)不同的能力;
  • 對(duì)修改關(guān)閉:避免了修改舊代碼。

類與類之間的關(guān)系

一、繼承關(guān)系

繼承指的是一個(gè)類(稱為子類、子接口)繼承另外的一個(gè)類(稱為父類、父接口)的功能,并可以增加它自己的新功能的能力。在Java中繼承關(guān)系通過(guò)關(guān)鍵字extends明確標(biāo)識(shí),在設(shè)計(jì)時(shí)一般沒(méi)有爭(zhēng)議性。

在UML類圖設(shè)計(jì)中,繼承用一條帶空心三角箭頭的實(shí)線表示,從子類指向父類,或者子接口指向父接口。

二、實(shí)現(xiàn)關(guān)系

實(shí)現(xiàn)指的是一個(gè)class類實(shí)現(xiàn)interface接口(可以是多個(gè))的功能,實(shí)現(xiàn)是類與接口之間最常見(jiàn)的關(guān)系。在Java中此類關(guān)系通過(guò)關(guān)鍵字implements明確標(biāo)識(shí),在設(shè)計(jì)時(shí)一般沒(méi)有爭(zhēng)議性。

在UML類圖設(shè)計(jì)中,實(shí)現(xiàn)用一條帶空心三角箭頭的虛線表示,從類指向?qū)崿F(xiàn)的接口。

三、依賴關(guān)系

簡(jiǎn)單的理解,依賴就是一個(gè)類A使用到了另一個(gè)類B,而這種使用關(guān)系是具有偶然性的、臨時(shí)性的、非常弱的,但是類B的變化會(huì)影響到類A。比如某人要過(guò)河,需要借用一條船,此時(shí)人與船之間的關(guān)系就是依賴。表現(xiàn)在代碼層面,讓類B作為參數(shù)被類A在某個(gè)method方法中使用。

在UML類圖設(shè)計(jì)中,依賴關(guān)系用由類A指向類B的帶箭頭虛線表示。

四、關(guān)聯(lián)關(guān)系

關(guān)聯(lián)體現(xiàn)的是兩個(gè)類之間語(yǔ)義級(jí)別的一種強(qiáng)依賴關(guān)系,比如我和我的朋友,這種關(guān)系比依賴更強(qiáng)、不存在依賴關(guān)系的偶然性、關(guān)系也不是臨時(shí)性的,一般是長(zhǎng)期性的,而且雙方的關(guān)系一般是平等的。關(guān)聯(lián)可以是單向、雙向的。表現(xiàn)在代碼層面,為被關(guān)聯(lián)類B以類的屬性形式出現(xiàn)在關(guān)聯(lián)類A中,也可能是關(guān)聯(lián)類A引用了一個(gè)類型為被關(guān)聯(lián)類B的全局變量。

在UML類圖設(shè)計(jì)中,關(guān)聯(lián)關(guān)系用由關(guān)聯(lián)類A指向被關(guān)聯(lián)類B的帶箭頭實(shí)線表示,在關(guān)聯(lián)的兩端可以標(biāo)注關(guān)聯(lián)雙方的角色和多重性標(biāo)記。

五、聚合關(guān)系

聚合是關(guān)聯(lián)關(guān)系的一種特例,它體現(xiàn)的是整體與部分的關(guān)系,即has-a的關(guān)系。此時(shí)整體與部分之間是可分離的,它們可以具有各自的生命周期,部分可以屬于多個(gè)整體對(duì)象,也可以為多個(gè)整體對(duì)象共享。比如計(jì)算機(jī)與CPU、公司與員工的關(guān)系等,比如一個(gè)航母編隊(duì)包括海空母艦、驅(qū)護(hù)艦艇、艦載飛機(jī)及核動(dòng)力攻擊潛艇等。表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語(yǔ)義級(jí)別來(lái)區(qū)分。

在UML類圖設(shè)計(jì)中,聚合關(guān)系以空心菱形加實(shí)線箭頭表示。

六、組合關(guān)系

組合也是關(guān)聯(lián)關(guān)系的一種特例,它體現(xiàn)的是一種contains-a的關(guān)系,這種關(guān)系比聚合更強(qiáng),也稱為強(qiáng)聚合。它同樣體現(xiàn)整體與部分間的關(guān)系,但此時(shí)整體與部分是不可分的,整體的生命周期結(jié)束也就意味著部分的生命周期結(jié)束,比如人和人的大腦。表現(xiàn)在代碼層面,和關(guān)聯(lián)關(guān)系是一致的,只能從語(yǔ)義級(jí)別來(lái)區(qū)分。

在UML類圖設(shè)計(jì)中,組合關(guān)系以實(shí)心菱形加實(shí)線箭頭表示。

七、總結(jié)

對(duì)于繼承、實(shí)現(xiàn)這兩種關(guān)系沒(méi)多少疑問(wèn),它們體現(xiàn)的是一種類和類、或者類與接口間的縱向關(guān)系。其他的四種關(guān)系體現(xiàn)的是類和類、或者類與接口間的引用、橫向關(guān)系,是比較難區(qū)分的,有很多事物間的關(guān)系要想準(zhǔn)確定位是很難的。前面也提到,這四種關(guān)系都是語(yǔ)義級(jí)別的,所以從代碼層面并不能完全區(qū)分各種關(guān)系,但總的來(lái)說(shuō),后幾種關(guān)系所表現(xiàn)的強(qiáng)弱程度依次為:組合>聚合>關(guān)聯(lián)>依賴。

?

?

http://www.risenshineclean.com/news/26907.html

相關(guān)文章:

  • java web網(wǎng)站開發(fā)流程廈門人才網(wǎng)最新招聘信息網(wǎng)
  • 北京制作頁(yè)面網(wǎng)站搜索優(yōu)化官網(wǎng)
  • 微信朋友圈廣告投放平臺(tái)杭州上城區(qū)抖音seo有多好
  • 找美工做網(wǎng)站多少錢長(zhǎng)沙seo優(yōu)化推廣公司
  • 洛陽(yáng)做網(wǎng)站哪家便宜沈陽(yáng)seo排名收費(fèi)
  • 靜態(tài)網(wǎng)站制作模板百度seo關(guān)鍵詞排名優(yōu)化
  • 創(chuàng)業(yè)商機(jī)網(wǎng)餐飲seoapp推廣
  • dz論壇怎么做視頻網(wǎng)站上海十大營(yíng)銷策劃公司
  • 日照網(wǎng)站建設(shè)哪家好看廣告賺錢的平臺(tái)
  • 怎么用css做網(wǎng)站背景圖整站優(yōu)化seo公司哪家好
  • 大連網(wǎng)站建設(shè)特色南京seo關(guān)鍵詞排名
  • asp動(dòng)態(tài)網(wǎng)站建設(shè)模擬搜索點(diǎn)擊軟件
  • 源碼下載網(wǎng)站源碼廣西網(wǎng)絡(luò)優(yōu)化seo
  • 網(wǎng)站下載的軟件怎么安裝代寫1000字多少錢
  • 集團(tuán)網(wǎng)站建設(shè)要多少錢sem推廣軟件選哪家
  • 一級(jí)a做爰片免費(fèi)觀網(wǎng)站看無(wú)碼滄州網(wǎng)站建設(shè)
  • 網(wǎng)站建設(shè)英語(yǔ)翻譯資料產(chǎn)品軟文范例軟文
  • 深圳做網(wǎng)站 漢獅網(wǎng)絡(luò)seo合作代理
  • 長(zhǎng)沙網(wǎng)站策劃在線優(yōu)化網(wǎng)站
  • 鄂州市政府網(wǎng)長(zhǎng)沙seo培訓(xùn)
  • 青島學(xué)網(wǎng)站建設(shè)的大學(xué)搜索關(guān)鍵詞技巧
  • 做網(wǎng)站需要公司么中國(guó)制造網(wǎng)網(wǎng)站類型
  • 做dhl底單的網(wǎng)站是 什么網(wǎng)絡(luò)營(yíng)銷與直播電商專業(yè)就業(yè)前景
  • 致遠(yuǎn)oa協(xié)同管理系統(tǒng)優(yōu)化大師apk
  • 瑞安外貿(mào)網(wǎng)站制作網(wǎng)站管理系統(tǒng)
  • 帝國(guó)+只做網(wǎng)站地圖百度app怎么找人工客服
  • 網(wǎng)站開發(fā) 后端服務(wù)草根seo視頻大全
  • 做模型網(wǎng)站賺錢么高端網(wǎng)站建設(shè)制作
  • 廣東全網(wǎng)推廣手機(jī)流暢優(yōu)化軟件
  • 謝崗鎮(zhèn)仿做網(wǎng)站百度免費(fèi)