Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类图-这种自反关系看起来如何?_Java_Class Diagram - Fatal编程技术网

Java 类图-这种自反关系看起来如何?

Java 类图-这种自反关系看起来如何?,java,class-diagram,Java,Class Diagram,作为我职业生涯的一部分,我正在做y firsts类图,在阅读作业要求时,我发现一个动物对象的两个属性是动物的母亲和父亲,如果他们有血统的话 我问了课程老师,但他告诉我的唯一一件事是,我的假设是正确的,即这是一种反身关系,但下面的疑问仍然存在 -这是如何在代码中实现的 我们以前从未见过这种关系,我只是在浏览StackOverflow时发现的 此外,我们正在按需管理对象,因此,我们最近介绍了向量和树映射的使用,而不是ArrayList 这就是我的类图现在的样子 Padres=父母,这种多样性的理由

作为我职业生涯的一部分,我正在做y firsts类图,在阅读作业要求时,我发现一个动物对象的两个属性是动物的母亲和父亲,如果他们有血统的话

我问了课程老师,但他告诉我的唯一一件事是,我的假设是正确的,即这是一种反身关系,但下面的疑问仍然存在

-这是如何在代码中实现的

我们以前从未见过这种关系,我只是在浏览StackOverflow时发现的

此外,我们正在按需管理对象,因此,我们最近介绍了向量和树映射的使用,而不是ArrayList

这就是我的类图现在的样子

Padres=父母,这种多样性的理由是,一只动物可能有或可能没有一个母亲/父亲的双亲注册


提前非常感谢。

我不知道我是否正确理解了这个问题-下面的代码有帮助吗

public class Animal {
    private Animal padre;
    private Animal madre;

    // ...
    // other fields
    // ...

    //one of the constructors.
    public Animal(final Animal padre, final Animal madre)
    {
        this.padre = padre;
        this.madre = madre;
    }

    // ...
    // rest of your code
    // ...
}
或者,如果它应该是一个数组,则:

//field
private Animal[] padres;
//constructor
public Animal(final Animal[] padres) {
    if (padres != null) {
        if (padres.length > 2) {
            throw new IllegalStateException("Too many parents");
        }
    }
    this.padres = padres;
}

这很有帮助,谢谢,我主要想知道一个反身关系在代码上会是什么样子。