面試題:對于關聯端點的表述,不正確的選擇是哪個?
A:關聯端點是關聯的一個結構部分,它定義了在關聯中類的參與。
B:在同一個關聯中一個類可以連接到多個端點。
C:在關聯中的關聯端點有不同的位置而且有名字,并且通常是可以互換的。
D:關聯端點一旦脫離它的關聯獨立存在也不再有含義。
答案:B
知識拓展:關聯是兩個或多個特定類元之間的關系,它描述了這些類元的實例聯系。參與其中的類元在關聯內的位置有序。在一個關聯中同一個類可以出現在多個位置上。關聯的每個實例是引用對象的有序表,關聯的外延即這種鏈接的一個集合。在鏈接集合中給定的對象可以出現多次,或者在關聯的定義允許的情況下可以在同一個鏈中出現多次,關聯將一個系統組織在一起,如果沒有關聯,那只有一個無鏈接類的集合。
關聯的結構:關聯可以有一個名稱,但是它的大部分描述建立在關聯端點中,每個端點描述了關聯中類對象的參與。關聯端點只是關聯描述的一部分,不是可區分的語義或可用符號表示概念。
關聯的名稱:關聯可以有一個名稱,在包含的所有關聯和類中,它必須是僅有的。關聯不是必須要要有一個名稱,它的端點的角色名稱提供了在同一個類中辨別多個關聯的另一種途徑。按照習慣,名字以類在表中出現的順序讀出:employee為company工作;salesman賣car給消費者。
關聯的端點:關聯包含一張有多個關聯端點的有序表。每個關聯端點定義了在關聯中給定位置的一個類的參與。同一個類可以出現在多個位置上,而位置通常是不可交換的。每個關聯端點制定了的應用于對應對象的參與特性,如在關聯中一個獨立的對象在鏈接中會出現多少次。某些特性,如導航性只應用于二元關聯,但是多數可以應用于n元關聯。
在UML的語音中,位置的關系稱為鏈。鏈在系統執行過程中可以被創建和銷毀,服從每個關聯端點可變性的限制。