Ошибка множественного наследования в интерфейсе JAVA UML или ошибка? - PullRequest
1 голос
/ 01 апреля 2012

Я пытался сделать это как можно проще.Меня интересует график, сгенерированный 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 ( нормально не представлять связь с интерфейсом IHas_a_property_y в UML или ошибка ): Ess Model auto generated graph И это обычно то, что я ожидал (как мне кажется, должно быть): This is what I think it should be

1 Ответ

2 голосов
/ 01 апреля 2012

Поскольку вы явно расширяете оба интерфейса в коде, эта ссылка должна появиться на диаграмме UML (в противном случае код, сгенерированный из UML, может получить доступ к sety только через Object_have_xy, но не через IHave_an_y). Итак, предположим, что изображения правильно, это ошибка.

...