compareTo 方法是 UML 中的自关联吗?

Is an compareTo method a self association in UML?

我目前正在制作一个包和 class 图。我有一个使用 compareTo 方法的 class。我的问题是当我建模时,我是否必须进行自我关联?如果是这样,自关联是依赖线还是普通线?

代码示例:

public class Example implements Comparable<Example> {

    private String name;

    public Example(String name) {
        this.name = name;
    }

    public String getNaam() {
        return name;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof Example) {
            return ((Example) obj).name.equals(name);
        } else {
            return false;
        }
    }

    @Override
    public int hashCode() {
        return name.hashCode();
    }

    @Override
    public int compareTo(Example o) {
        return name.compareTo(o.getNaam());
    }

    @Override
    public String toString() {
        return name;
    }
}

因为 class 知道自己(这是不言而喻的)所以你只需这样写:

注意:我省略了大部分操作。

如果您有一个使用 class 本身键入的属性,则使用自引用。一个简单的例子是 Employee,它引用了一个 manager,它本身就是一个 Employee

详细说明一下:如您所见,关联只是属性的另一种呈现。如果您使用未由属性表示的类型化参数,您将创建如下图所示的依赖项。