本文介紹了UML三元關(guān)聯(lián)實現(xiàn)Java代碼的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
三元關(guān)聯(lián)是指定一個事物對象與另兩個事物的對象相連接的結(jié)構(gòu)化關(guān)系
我理解這種關(guān)系,但我不知道如何實現(xiàn)顯示這三個類之間關(guān)聯(lián)的方法。
讓我們考慮以下示例
項目有許多使用特定編程的開發(fā)人員
發(fā)展語言
開發(fā)人員使用特定編程語言開發(fā)多個項目
在選定的項目中,一名開發(fā)人員僅使用一種編程語言
這三個類別之間存在三元關(guān)聯(lián)。
我已經(jīng)在互聯(lián)網(wǎng)上閱讀了關(guān)于這個問題的不同來源,但找不到解決方案
如何用代碼(Java)實現(xiàn)上述場景?
P.S-不僅如此,任何其他三元關(guān)聯(lián)編碼示例都是值得贊賞
推薦答案
您可以使用一個類來表示”項目“。此類具有:
–Map <Developer, Langage>
開發(fā)人員
一個表示”開發(fā)人員“的類。此類具有:
–Set<Langage>
語言
–Set<Projects>
項目
最后,一個類表示”語言“。
Class Project {
Map<Developer, Language> developers = new HashMap<>();
public void add(Developer developer) {
developers.put(developer, developer.getLanguage());
developer.registerOn(this);
}
Class Developer {
private Set<Language> languages;
private Set<Projects> projects;
public boolean developIn(Language language) {
return languages.contains(language);
}
public void registerOn(Project project) {
projects.add(project);
}
}
Enum Language {
JAVA,
PHP;
}
這篇關(guān)于UML三元關(guān)聯(lián)實現(xiàn)Java代碼的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,