本文介紹了在另一個類中使用類的實例是否算作依賴項或關(guān)聯(lián)?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我很難弄清楚,在另一個類中實例化一個類,然后使用它的一些方法在UML類圖中算得上是依賴還是關(guān)聯(lián)。例如:
public class Example {
Thing thing = new Thing();
public void method() {
thing.doSomething();
}
}
此關(guān)聯(lián)是因為示例";具有";內(nèi)容嗎?或者,這種依賴關(guān)系是因為Example具有使用";Thing才能正常工作的方法?
推薦答案
在UML中,您將使用Example和Thing之間的關(guān)聯(lián)來表示:
純粹主義者會建議dot notation,并在Thing末尾加上一個小點:這表明Example擁有關(guān)聯(lián)的末尾。并非所有建模工具都支持此表示法。
由于Example的實例將始終知道Thing的實例,但可能不知道相反的情況,因此您可能希望將此關(guān)聯(lián)顯示為可導(dǎo)航的(末尾打開的箭頭)。
關(guān)聯(lián)隱含依賴關(guān)系。因此,您不應(yīng)該向關(guān)系圖中添加冗余依賴項。沒有關(guān)聯(lián)的依賴項將如下所示:
public class Example {
Thing thing = new Thing(); // Example is associated to Thing
public void method(AnotherThing x) { // Example depends on AnotherThing
...;
}
}
這篇關(guān)于在另一個類中使用類的實例是否算作依賴項或關(guān)聯(lián)?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,






