參考
概要
本文主要介紹類之間的6種關系,UML類圖,時序圖
正文
一 類之間六種關系
關系1:泛化關系(generalization)
類的繼承結構表現(xiàn)在UML中為, 泛化關系和實現(xiàn)關系(realize)
繼承關系可以表示為 .... 是......, (.... is ....), 例如:人是動物,楊樹是植物
最終代碼中,泛化關系表現(xiàn)為繼承非抽象類
關系2:實現(xiàn)關系(realize)
最終代碼中,實現(xiàn)關系表現(xiàn)為繼承抽象類
關系3:聚合關系(aggregation)
聚合關系用于表示實體對象之間的關系,表示整體由部分構成的語義,
聚合關系中的整體和部分不是強依賴的,即使整體不存在了,部分仍然存在
關系4:組合關系(composition)
組合關系同樣表示整體由部分構成的語義,
組合關系是一種強依賴的特殊聚合關系,如果整體不存在了,則部分也不存在了
關系5:關聯(lián)關系(association)
關聯(lián)關系描述不同類的對象之間的結構關系,是一種靜態(tài)關系,通常與運行狀態(tài)沒關系,
一般由常識等因素決定的,一般用于定義對象之間的靜態(tài),天然的結構
關聯(lián)關系是一種強關聯(lián)的關系
關聯(lián)關系默認不強調(diào)方向,
最終代碼中,關聯(lián)對象通常是以成員變量的形式實現(xiàn)的
關系6:依賴關系(dependency)
依賴關系描述一個對象在運行期間用到另一個對象的關系
是一種臨時性的關系,通常在運行期間產(chǎn)生,并且隨著運行時的變化,依賴關系可能發(fā)生變化
依賴也有方向,雙向依賴是一種非常糟糕的結構,
應該始終保持單向依賴,避免雙向依賴的產(chǎn)生
最終代碼中,依賴關系體現(xiàn)為類構造方法和類方法的傳入?yún)?shù)
依賴關系處理臨時知道對象外,還是使用對方的方法和屬性