繼承
- 表示方法:用實線空心三角箭頭表示。(由子類指向父類)
image
接口
- 表示方法:空心三角形箭頭的虛線。(有實現(xiàn)類指向接口)
image
依賴
- 概念:是一種使用的關系,即一個類的實現(xiàn)需要另一個類的協(xié)助。java中,方法參數(shù)需要傳入另一個類的對象,就表示依賴這個類。
- 表示方法:虛線箭頭,類A指向類B。(由使用者指向被使用者)
image
關聯(lián)
- 概念:表示類與類之間的聯(lián)接,它使一個類知道另一個類的屬性和方法,這種關系比依賴更強、不存在依賴關系的偶然性、關系也不是臨時性的,一般是長期性的。java中一個類的全局變量引用了另一個類,就表示關聯(lián)了這個類
- 表示方法:實線箭頭,類A指向類B(由擁有者指向被擁有者,如果A指向B,則說明A類中有B類的成員變量。)
image
聚合
- 概念:聚合關聯(lián)關系的一種特例,是強的關聯(lián)關系。聚合是整體和個體之間的關系,即has-a的關系,整體與個體可以具有各自的生命周期,部分可以屬于多個整體對象,也可以為多個整體對象共享。程序中聚合和關聯(lián)關系是一致的,只能從語義級別來區(qū)分;
- 表示方法:尾部為空心菱形的實線箭頭(也可以沒箭頭),類A指向類B
- 由整體指向部分。如果A指向B,則說明A類中有B類的成員變量,但是與關聯(lián)關系不同,A類和B類有邏輯關系。A類是整體,B類是部分。A類由B類構成,同時B類即便不在A類中也可以單獨存在。
image
組合
- 概念:組合也是關聯(lián)關系的一種特例。組合是一種整體與部分的關系,即contains-a的關系,比聚合更強。部分與整體的生命周期一致,整體的生命周期結束也就意味著部分的生命周期結束,組合關系不能共享。程序中組合和關聯(lián)關系是一致的,只能從語義級別來區(qū)分。
- 表示方法:尾部為實心菱形的實現(xiàn)箭頭(也可以沒箭頭),類A指向類B
- 由整體指向部分。如果A指向B,則說明A類中有B類的成員變量,但是與關聯(lián)關系不同,A類和B類有邏輯關系。A類是整體,B類是部分。A類由B類構成。但與聚合關系不同,如果B類不在A類中就無法單獨存在。
image