我無法表示以UML類圖下面的一段代碼:
public class Test {
// something
}
public class Bar<T> {
private T item;
public Bar(T item) {
this.item = item;
}
// something
}
public class Foo<T> {
private Bar<T> bar;
public Foo(Bar<T> bar) {
this.bar = bar;
}
// something
}
public class Caller {
private Test item;
private Foo<Test> foo;
private Bar<Test> bar;
public Caller() {
item = new Test();
bar = new Bar<Test>(item);
foo = new Foo<Test>(bar);
}
// something
}
截至目前,我認為代表這樣說:

因為我知道你不能直接系結關聯,但你首先需要一個系結類。我不知道這是否是正確的,如果是這樣,就不會這樣的結果更加復雜的圖中,當有更多的類?
uj5u.com熱心網友回復:
完成你的圖表?
關聯不能被系結的假設似乎沒有根據。根據 UML 規范,分類器可以模板化,模板可以系結。這對于類來說很簡單。關聯也是分類器,我沒有發現一般規則不適用于它們的證據。
因此,如果您認為它增加了可讀性,您可以很好地完成您的圖表。使用相同的符號:在Foo_Testand之間添加一個關聯Bar_Test,以及?bind?從該關聯到模板關聯的箭頭(順便說一句。用箭頭鏈接兩行可能看起來很奇怪,但即使它是速率,它也是合法的;泛化也是可能的關聯,請參見
理想情況下,底部將在單獨的圖表中。但是如果你保留它,你可能會避免和之間的關聯Bar(Test因為它是從模板中的 a 推匯出來的item: T),除非你認為它很重要。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/440106.html
