UML三元协会实现Java代码

时间:2018-11-12 19:52:30

标签: java class oop uml ooad

三元关联是结构关系,指定一个事物的对象连接到另外两个事物的对象

我了解这种关系,但是我不知道如何实现显示这三个类之间关联的方法。

让我们考虑以下示例

  • 项目有使用特定编程的开发人员数量 发展语言
  • 开发人员使用特定的编程语言来开发项目数量
  • 在选定的项目中,一名开发人员仅使用一种编程语言

ternary association between project ,developer and programming language

这三个类之间存在三元关联。

我已经在互联网上阅读了有关这方面的不同资料,找不到解决方法

如何在代码中实现上述方案(在Java中)?

PS-不仅如此,还将感谢其他三元关联编码示例

2 个答案:

答案 0 :(得分:0)

您可以使用一个类来表示“ 项目”。该课程有:

-Map <Developer, Langage>开发人员

一个代表“ 开发人员”的类。该课程有:

-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;
}

答案 1 :(得分:0)

该UML图未说明您所相信的内容。关联也是一个对象。

如果要指定“在选定的项目中,一位开发人员仅使用一种编程语言” ,则该图应为:

enter image description here