[转载] Java基础——关联、聚合、组合
生活随笔
收集整理的這篇文章主要介紹了
[转载] Java基础——关联、聚合、组合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考鏈接: Java中的關聯 | 組合和聚合
一.引言?
其實自己也不知道,在需求設計、架構設計、開發階段是否真正需要弄明白“關聯、聚合、組合”。原本計劃這篇博文寫“繼承“和”多態”,但是一翻閱資料,基本上都會把“繼承”和“組合”做一個簡單對比,于是乎就打算把“組合”的親戚“關聯”和“聚合”也一并總結一下。?
二.關聯、聚合和組合?
關聯強調的是“關系”,比如老師和學生之間的關系;? 聚合和組合強調的是“整體”與“部分”,就好像一個班級由班主任和多名學生組成等等,但是聚合和組合的區別在于:聚合關系中,部分是可以獨立于整體的,即非同一生命周期,比如汽車和輪胎的關系;而組合關系中,部分和整體是同一生命周期的,比如班級和班主任的關系。? ?
解釋下上面的類圖:? TClass類是班級類,一個班級擁有一個班主任Teacher,和多名學生Student——都屬于組合關系。? Student類是學生類,一個學生擁有一張課表Scedule——屬于關聯關系,因為課表并不是學生的一部分。? Scedule類是課表類,一張課表擁有一系列的課程Course——屬于聚合關系,因為課程本身是可以獨立存在不屬于任何一張課表。
總結
以上是生活随笔為你收集整理的[转载] Java基础——关联、聚合、组合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [转载] 《Python语言程序设计》课
- 下一篇: [转载] Java中静态成员变量,静态代