http://book.csdn.net/bookfiles/575/10057518902.shtml
虛線箭頭表示“依賴關系”,依賴有“使用”的語義,比如患者與醫生的關系。
實線箭頭表示“帶了導航行的關聯關系”,從一個類到另一類。
使用實線箭頭時通常會帶上“多重性”的表達方式。如:一對多,一對一,多對多等等
常見的關系有:一般化關系(Generalization),關聯關系(Association),聚合關系(Aggregation),合成關系(Composition),依賴關系(Dependency)。
其中,聚合關系(Aggregation),合成關系(Composition)屬于關聯關系(Association)。
一般關系表現為繼承或實現關系(is a),關聯關系表現為變量(has a ),依賴關系表現為函數中的參數(use a)。
一般化關系:表示為類與類之間的繼承關系,接口與接口之間的繼承,類對接口的實現關系。
表示方法: 用一個空心箭頭+實線,箭頭指向父類。或空心箭頭+虛線,如果父類是接口。
關聯關系:類與類之間的聯接,它使一個類知道另一個類的屬性和方法。
表示方法:用 實線+箭頭, 箭頭指向被使用的類。
聚合關系:是關聯關系的一種,是強的關聯關系。聚合關系是整體和個體的關系。關聯關系的兩個類處于同一層次上,啊聚合關系兩個類處于不同的層次,一個是整體,一個是部分。
表示方法:空心菱形+實線+箭頭,箭頭指向部分。
合成關系:是關聯關系的一種,是比聚合關系強的關系。它要求普通的聚合關系中代表整體的對象負責代表部分的對象的生命周期,合成關系不能共享。
表示方法:實心菱形+實線+箭頭,
依賴關系:是類與類之間的連接,表示一個類依賴于另一個類的定義。例如如果A依賴于B,則B體現為局部變量,方法的參數、或靜態方法的調用。
表示方法:虛線+箭頭
圖一:
此實線箭頭表示, 繼承, 從一個非接口類的繼承.
圖二:
那條連線表示雙向關聯:
看左邊, Flight扮演assignedFights角色, 有0到1個Plane跟他關聯(一個航班要么取消了沒有飛機,要么只能對應一架飛機)
看右邊, Plane扮演著assignedPlane角色, 有0到多個Flight跟他關聯(一個飛機可以參與多個航班, 也可以停在倉庫里面爛掉)
圖三:
那條連線表示單向關聯:
基本的意義跟上面的是一樣的, 唯一不同的是, 右邊的類對左邊的類是一無所知的.
圖四:
那個大的包圍的框叫軟件包, 名字為Account, 就一些可以歸類的類包裝起來.
圖五:
如此虛線的箭頭表示實現一個接口.
圖六:
水平的連線還是表示上面所說的關聯, 但從關聯連線中引伸出來的虛線, 這意味當Flight類的一個實例關聯到 FrequentFlyer 類的一個實例時,將會產生 MileageCredit 類的一個實例.
圖七:
帶菱形的箭頭表示基本聚合, 由上圖知道, Wheel類扮演wheels角色, 聚合4個到Car對象里面去,
空心的菱形表示Wheel對象并不隨Car的創建而創建,銷毀而銷毀.
圖八:
意義和上面類似, 唯一不同的是, 實心菱形表示Department對象隨Company對象的創建而創建,銷毀而銷毀.
圖九:
表示反射關聯, 顯示一個Employee類如何通過manager / manages角色與它本身相關。當一個類關聯到它本身時,這并不意味著類的實例與它本身相關,而是類的一個實例與類的另一個實例相關。