2012-04-01 77 views
1

我試圖讓它儘可能簡單。 我想知道由Ess Model生成的圖表錯過了(在我看來)UML圖中兩個接口之間的鏈接顯示。JAVA 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

回答

2

既然你明明在代碼擴展兩個接口,該鏈接將出現在UML圖(從生成或代碼UML只能通過Object_have_xy訪問sety,但不能通過IHave_an_y)所以假設圖片是正確的,這是一個錯誤。

+0

謝謝你這個快速的回答,所以我可以深入瞭解我的書,毫無疑問的誤解:) 我只需要解決這個帖子。涼。 – tatactic 2012-04-01 11:26:07