最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單談?wù)凧ava類與類之間的關(guān)系

 更新時(shí)間:2016年05月20日 08:58:28   投稿:hebedich  
類與類之間的關(guān)系對于理解面向?qū)ο缶哂泻苤匾淖饔?,以前在面試的時(shí)候也經(jīng)常被問到這個(gè)問題,在這里我就簡單給大家介紹一下。

類與類之間最常見的關(guān)系主要有三種:依賴(uses-a)、聚合(has-a)和繼承(is-a)。

下面以在線書店訂單系統(tǒng)為例,來詳細(xì)的講述這三種關(guān)系的概念。

在線書店訂單系統(tǒng)的主要功能是:注冊用戶可以登錄到網(wǎng)上書店選購圖書,在線填寫訂單,并支付購書款。書店確認(rèn)已經(jīng)收到購書款時(shí),按用戶留下的地址郵寄圖書??梢栽谶@個(gè)系統(tǒng)中建立幾個(gè)類,有圖書(book)、賬戶(account)、訂單(order)、地址(address)等,如下圖所示:

依賴(uses-a)

依賴關(guān)系是類中最常見的關(guān)系,例如訂單類(order)需要訪問用戶賬戶類(account),所以在訂單類中需要引用賬戶類,即訂單類依賴賬戶類,但圖書類不需要依賴賬戶類。

如果修改賬戶類,會(huì)影響到訂單類。依賴的實(shí)質(zhì)就是類中的方法可以操作另一個(gè)類的實(shí)例。在實(shí)際程序設(shè)計(jì)中,建議盡量減少相互依賴類的數(shù)量。如下圖所示:

聚合(has-a)

因?yàn)橛唵涡枰该饔嗁徥裁磮D書,這就涉及到圖書類,即包含了圖書類。聚合與依賴關(guān)系的不同在于,訂單類可以不擁有所有賬戶類對象,但是必須擁有所有圖書類對象,因?yàn)閳D書類的對象是訂單的主要目的,如下圖所示:

繼承

繼承就是一個(gè)類能調(diào)用另一個(gè)類的所有數(shù)據(jù)成員,并在當(dāng)前類中不需要再重新定義,本章已經(jīng)講得很明白了。

相關(guān)文章

  • Java多線程案例實(shí)戰(zhàn)之定時(shí)器的實(shí)現(xiàn)

    Java多線程案例實(shí)戰(zhàn)之定時(shí)器的實(shí)現(xiàn)

    在Java中可以使用多線程和定時(shí)器來實(shí)現(xiàn)定時(shí)任務(wù),下面這篇文章主要給大家介紹了關(guān)于Java多線程案例之定時(shí)器實(shí)現(xiàn)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • springMVC返回Http響應(yīng)的實(shí)現(xiàn)

    springMVC返回Http響應(yīng)的實(shí)現(xiàn)

    本文主要介紹了在Spring Boot中使用@Controller、@ResponseBody和@RestController注解進(jìn)行HTTP響應(yīng)返回的方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-03-03
  • Java中的內(nèi)存泄漏

    Java中的內(nèi)存泄漏

    這篇文章主要介紹了Java中的內(nèi)存泄漏的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-11-11
  • SpringBoot實(shí)現(xiàn)固定和動(dòng)態(tài)定時(shí)任務(wù)的三種方法

    SpringBoot實(shí)現(xiàn)固定和動(dòng)態(tài)定時(shí)任務(wù)的三種方法

    定時(shí)器是我們項(xiàng)目中經(jīng)常會(huì)用到的,本文主要介紹了SpringBoot實(shí)現(xiàn)固定和動(dòng)態(tài)定時(shí)任務(wù)的三種方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • Java switch多值匹配操作詳解

    Java switch多值匹配操作詳解

    這篇文章主要介紹了Java switch多值匹配操作詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • java?SpringBootWeb請求響應(yīng)舉例詳解

    java?SpringBootWeb請求響應(yīng)舉例詳解

    SpringBoot是一種整合Spring技術(shù)棧的方式(或者說是框架),同時(shí)也是簡化Spring的一種快速開發(fā)的腳手架,這篇文章主要給大家介紹了關(guān)于java?SpringBootWeb請求響應(yīng)的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • MyBatis-Plus的yml配置方式小結(jié)

    MyBatis-Plus的yml配置方式小結(jié)

    本文主要介紹了MyBatis-Plus的yml配置方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • spring boot創(chuàng)建項(xiàng)目包依賴問題的解決

    spring boot創(chuàng)建項(xiàng)目包依賴問題的解決

    本篇文章主要介紹了spring boot創(chuàng)建項(xiàng)目包依賴問題的解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • 你所不知道的Spring自動(dòng)注入詳解

    你所不知道的Spring自動(dòng)注入詳解

    這篇文章主要給大家介紹了關(guān)于你所不知道的Spring自動(dòng)注入的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 解決springboot報(bào)錯(cuò)Could not resolve placeholder‘xxx‘ in value“${XXXX}

    解決springboot報(bào)錯(cuò)Could not resolve placeholder‘x

    這篇文章主要介紹了解決springboot報(bào)錯(cuò):Could not resolve placeholder ‘xxx‘ in value “${XXXX}問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11

最新評論

林甸县| 海城市| 同仁县| 岳池县| 儋州市| 佛教| 石楼县| 商南县| 樟树市| 林州市| 镇巴县| 鹿邑县| 屯昌县| 江孜县| 佳木斯市| 顺义区| 红原县| 昌都县| 莱西市| 西藏| 射阳县| 平泉县| 板桥市| 襄垣县| 天祝| 沂水县| 富裕县| 江阴市| 武乡县| 土默特右旗| 洪江市| 双峰县| 台州市| 法库县| 龙海市| 朝阳县| 垫江县| 通河县| 广汉市| 铁岭市| 淄博市|