关联关系、依赖关系总结
一、關(guān)聯(lián)關(guān)系總結(jié):
1.對象和對象之間的連接。在Java中,關(guān)聯(lián)關(guān)系的代碼表現(xiàn)形式為一個類做為另一個類的屬性類型存在。即“有”的關(guān)系:”has-a”。
2.關(guān)聯(lián)關(guān)系的方向:關(guān)聯(lián)關(guān)系分為單向關(guān)聯(lián)和雙向關(guān)聯(lián) ?
①單向關(guān)聯(lián): A類關(guān)聯(lián)B類。
②雙向關(guān)聯(lián):A類關(guān)聯(lián)B類,B類關(guān)聯(lián)A類。
3.關(guān)聯(lián)關(guān)系的多重性:①一對一關(guān)聯(lián):一個學生,只能在一個班級里學習。
②一對多關(guān)聯(lián):一個學生,可以參加多個班級學習。
③解決一對多的關(guān)聯(lián)的方案:集合和數(shù)組。
集合
例:
????public class Classes{ ????
?????}
????public ?class Student{
????private List Classess;
}
數(shù)組
例:
????public class Classes{ ?????
????}
????public ?class Student{
????private Classes[] Classess;
}
4.關(guān)聯(lián)關(guān)系的特殊情況:如果兩個互相關(guān)聯(lián)的類中有整體和部分的關(guān)系,關(guān)聯(lián)關(guān)系分為: 聚合和組合,主要區(qū)別在于生命周期不同。
二、依賴關(guān)系總結(jié):
1.依賴關(guān)系的定義:依賴關(guān)系(use-a),指一個類A使用到了另一個類B。
2.依賴關(guān)系的特性:這種關(guān)系是具有偶然性的、臨時性的、非常弱的,但是類B的變化會影響到類A。
3.依賴具體表現(xiàn):在代碼層面,依賴關(guān)系表現(xiàn)為類B作為參數(shù)被類A在某個method。
4.依賴與關(guān)聯(lián)的區(qū)別:
關(guān)聯(lián)是“HAS”關(guān)系,依賴是“USE”關(guān)系:
①A類關(guān)聯(lián)B類,指的是B類對象作為A類的屬性存在,稱為“has”關(guān)系。
②A類依賴B類,指的是B的對象作為A類的方法參數(shù)存在,稱為“use”關(guān)系。
生命周期不同:
①如果A類關(guān)聯(lián)B類,那么創(chuàng)建A類的對象時實例化B類的對象,直到A類對象被銷毀,所關(guān)聯(lián)的B類對象也被銷毀。即只要A類對象存在,B類對象就存在。
②如果A類依賴B類,那么只有當A類對象調(diào)用到相應(yīng)方法時,B類對象才被臨時創(chuàng)建,方法執(zhí)行結(jié)束,B類對象即被回收,A類和B類之間的依賴關(guān)系是一種瞬時的關(guān)系。
?
轉(zhuǎn)載于:https://www.cnblogs.com/y-zz/p/7524422.html
總結(jié)
以上是生活随笔為你收集整理的关联关系、依赖关系总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电脑硬盘改电视游戏(游戏机改电视)
- 下一篇: git本地创建新分支并推送到远程仓库