UML关系图
回憶下UML圖
繼承
?接口實現
?
?
接下來是類與類的關系(從弱到強)
倚賴(dependency):
類與類之間的連接,表示一個類依賴于另外一個類的定義,依賴關系時是單向的。
簡單理解就是類A使用到了類B,這種依賴具有偶然性、臨時性,是非常弱的關系。
在java中表現為:
1.局部變量
2.方法中的參數
3.對靜態方法的調用
關聯(association)
關系表示類與類之間的連接,它使得一個類知道另外一個類的屬性和方法。
關聯關系體現的是兩個類,或者類與接口之間的強依賴關系,這種關系很強烈,比依賴更強,不是偶然性的,也不是臨時性的,而是一種長期性,相對平等的關系。
Java中表現
1.使用實例變量
聚合(aggregation)
是關聯關系的特例,是強的關聯關系,聚合是整個與個體的關系,即has-a關系(is-a是繼承),此時整體和部分是可以分離的,他們具有各自的生命周期,部分可以屬于多個對象,也可以被多個對象共享;
比如計算機和CPU,公司與員工的關系;
與關聯代碼層面一致。
?
組合(compostion)
是關聯關系的一種特例,體現的是一種contain-a關系。它同樣體現整體與部分的關系,但此時整體與部分是不可分的,整體生命周期的結束也意味著部分生命周期的結束,反之亦然。
與關聯代碼層面一致。
組合/聚合區別:
組合“部分”不能脫離“整體”單獨存在,其生命周期應該是一致的。
聚合“部分”可以脫離“整體”單獨存在,他們具有各自的生命周期。
?
轉載于:https://www.cnblogs.com/Gang-Bryant/p/10785139.html
總結
- 上一篇: h5页面设计是什么
- 下一篇: 互联网安全问题的起因