【问题标题】:JAVA UML Interface multi inheritance bug or mistake?JAVA UML 接口多继承的bug 或错误?
【发布时间】:2012-04-15 08:56:36
【问题描述】:

我尽量让它变得简单。 我想知道 Ess 模型生成的图表是否(在我看来)没有显示 UML 图表中两个接口之间的链接。

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

-我--> interface IHave_an_x

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

-我--> interface IHave_an_y

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

-我--> 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 Model生成的图(不代表UML中接口IHas_a_property_y的链接是否正常或者bug): 这通常是我所期望的(我认为应该是):

【问题讨论】:

    标签: java interface uml multiple-inheritance representation


    【解决方案1】:

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

    【讨论】:

    • 感谢您的快速回答,这样我就可以更深入地了解我的书籍,而不会产生任何误解 :) 我只需将这篇文章标记为已解决。酷。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 2013-12-06
    • 2023-03-13
    • 1970-01-01
    • 2020-08-23
    相关资源
    最近更新 更多