1

できるだけシンプルにしようと思いました。Ess Modelによって生成されたグラフで、UMLグラフの2つのインターフェイス間のリンクの表示が(私の意見では)見当たらないのではないかと思います。

私は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モデルによって生成されたグラフです(UMLのインターフェイスIHas_a_property_yまたはバグとのリンクを表さないのは通常です): そしてこれは通常私が期待したものです(私が思うべきものです): Essモデルの自動生成グラフこれは私がそうあるべきだと思うものです

4

1 に答える 1

2

コード内の両方のインターフェイスを明確に拡張しているため、そのリンクはUML図に表示されます(そうでない場合、UMLから生成されたコードはsety経由でのみアクセスできますが、経由ではアクセスできObject_have_xyませんIHave_an_y)。したがって、画像が正しいと仮定すると、これはバグです。

于 2012-04-01T11:14:09.303 に答える