java - 类图的实现

标签 java uml

https://imgur.com/a/AFL2dJF

我想知道如何在 Java 中实现这样的 UML 图?是否可以选择输入枚举部分下方的内容,或者这与枚举一样是必需的?

最佳答案

显然,该图使用了扩展绘图,其中第一个隔间给出了“标准”枚举项目名称以及属性的关联值,第二个隔间是属性,第三个隔间当然是操作。 (在 BoUML 中,我更喜欢在同一个隔间中绘制项目和属性,以尊重 UML 标准)

因为它是一个枚举,所以构造函数必须是私有(private)而不是公共(public),这是图中的错误

Is it optional to enter the things below the enum part, or would that be required as well as the enum?

必须设置属性,并定义属性/操作,UserType 的可能定义是:

public enum UserType {
    Student("Under Graduate Student", 1, 20),
    PostStudent("PostGraduate Student", 2, 30),
    AdminStaff("Administrative Staff", 3, 30),
    Librarian("Librarian", 4, 40),
    AcademicStaff("Academic Staff", 5, 40),
    Admin("System Administrator", 6, 30);

    private String name;
    private int id;
    private int numberOfAllowedBooksToBorrow;

    private UserType(final String n, int i, int nb) {
      this.name = n;
      this.id = i;
      this.numberOfAllowedBooksToBorrow = nb;
    }
    public String getName(){ return name; }
    public int getId(){ return id; }
    public int getNumberOfAllowedBooksToBorrow(){ return numberOfAllowedBooksToBorrow; }
    public String toString(){ return name; }
}

同样的方式也可用于PermissionType

关于java - 类图的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55865842/

相关文章:

java - 如何在jfree图表中显示多个数据系列

用于测试类的 Java Bean

java - 如何在 UML 静态类图中表示 Java 可变参数?

UML2 类图 - 用于泛化的嵌入式符号?

intellij-idea - IntelliJ IDEA UML 快捷方式

uml - PlantUML:重叠激活(多线程)

Java 8 : Building initials from nullable first name and last name

以自定义对象作为元素/节点的 Java 二叉搜索树

java - 具有不断变化的接口(interface)的装饰器模式

c# - UML 类图 : is this how to write abstract method and property?