JAVA UML接口多继承bug还是错误?

时间:2012-04-01 11:05:57

标签: java interface uml multiple-inheritance representation

我尽力让它变得简单。 我想知道Ess Model生成的图表(在我看来)错过了UML图中两个接口之间链接的显示。

我对java和UML很新,所以也许这是我的错,但我想确保不要错过这些基本的东西...... 如何使用正确的UML图来显示以下代码:

-I - > interface IHave_an_x

int getx();
void setx(int x);

-I - > interface IHave_an_y

int gety();
void sety(int y);

-I - > interface IHave_an_x_AND_an_y extends IHave_an_x, IHave_an_y

//.. no code comes here

-O - > class Object_have_xy implements IHave_an_x_AND_an_y

int getx(){
    return this.x;
}
void setx(int x){
    this.x = x;
}
int gety(){
    return this.y;
}
void sety(int y){
    this.y = y;
}

-O - > class ObjectNeeds_xy_inConstructor

public ObjectNeeds_xy_inConstructor (Object_have_xy obj_xy){
        System.out.println("obj_xy...");
        System.out.println("valueof x = " + obj_xy.getx());
        System.out.println("valueOf y = " + obj_xy.gety());
}

这是由Ess模型生成的图表(通常不代表链接与UML 中的接口IHas_a_property_y或错误): Ess Model auto generated graph 这通常是我期望的(我认为它应该是): This is what I think it should be

1 个答案:

答案 0 :(得分:2)

由于您明确扩展了代码中的两个接口,因此该链接应出现在UML图中(否则,从UML生成的代码只能通过sety访问Object_have_xy,而不能通过IHave_an_y访问{{1}} })所以假设图片是正确的,这是一个错误。