我正在做第一次类图作为我职业生涯的一部分,当我阅读作业的要求时,我来到了一个动物对象的两个属性是动物的母亲和父亲,如果他们有系谱。
我问过课程老师,但他告诉我的唯一一件事就是我认为这是一种反身关系,但我仍然存在以下疑问。
- 这是如何在代码中实现的?
之前我们还没有见过这种关系,我只是通过浏览StackOverflow来发现它。
我们也按需要管理对象,因此我们最近引入了矢量和树图的使用,而不是arrayLists。
这就是我的班级图现在的样子。
Padres =父母,多重性的理由是,动物可能有也可能没有父母只有母亲/父亲注册。
提前多多感谢。
答案 0 :(得分:1)
我不知道我是否正确理解了这个问题 - 下面的代码是否有任何帮助?
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;
}