UML-類別圖
[OO 小學堂] UML 類別圖介紹關聯 : (Association)
在一個類別和另一個類別之間拉出連接線、並在上方標示關聯詞(動詞)、二端視需求可標示參與數目和介面名稱,表示二個類別之間的關聯。例如,一或多個「數字」「標記」一種「物品」。參與數目(multiplicity or cardinality)可能標示為數字、表示多項的代用符號(*) 、或是像 "0..1" 的數字區段。可以在關聯詞旁邊以實心三角形標示方向。彙總 : (Aggregation) 『生死有命』diamond表示whole,箭頭表示part
在連接線的一端加上空心菱形,表示一項類別(菱形端)對另一項類別有「整體與部份」的關聯。彙總的意思是 has-a ,通常是強調一項類別(菱形端)的包含了另一項類別的集合:例如,Man 有 身分證, 健保卡...等 (IDCard)。組合 : (Composition) 『同生共死』diamond表示whole,箭頭表示part
在連接線的一端加上實心菱形,表示一項類別(菱形端)除了對另一項類別有「整體與部份」的關聯之外、而且是由另一項類別組成。組合的關聯力比彙總強,Composition表示法與Aggregation的差異在於變成實diamond,其他完全一樣,跟Aggregation在意義的差異在於Composition強調『同生共死』, 以下圖來解釋, 當System物件死亡時,Component物件也要跟著死亡,但aggregation是『生死有命』,當System物件死亡時,Component物件並不特別去處理。一般化/特殊化 : (Generalization/specialization)
在連接線的一端加上空心三角形,表示一項類別(三角形端)是另一項類別的一般樣式;相對地,另一項類別是該類別的特殊樣式。一般化的意思是 is-a ,也是繼承的關係:例如,Bus 是一種車子。Bus 和 Taxi 是 Car 的子型(subtype),而Car 是母型(supertype) 。可注意,一般化也可以用在使用案例圖,用來處理案例或參與者的從屬層次。
沒有留言:
張貼留言