2014-02-22 66 views
0
public class A{ 
    public A(int num){ num += 2;} 
} 

public class B Extends A{ 
    public B(int num){ super(num);} 
} 

public class C Extends B{ 
    public C(int num){ super(num);} 
} 

這樣的東西看起來像UML類圖嗎?通常如果只有一個類從另一個類繼承,那麼我會使用泛化。我將如何處理這件事?示例圖很棒。帶有超級構造函數的UML類圖

回答

1
  • 在UML中,您不需要在孩子中重複相同的構造函數。他們默認從父母那裏得到它。不過,這在所有語言中都不一定相同。所以,你有這些在Java中的子構造函數,但是你不需要在UML中顯示它們。但是,你當然可以做到。
  • A()的身體毫無意義。你正在改變輸入參數,這沒有任何後果。我想,你的意思是:

public class A{ 
    int num; 
    public A(int num){ 
     this.num = num+2; 
    } 
} 

無論如何,這種變化是在類圖

enter image description here

一個類可以很容易地甚至有兩個孩子,而不是無形一個問題,用任何語言。幾代通用化也是一樣。在UML中,你甚至可以有兩個孩子的父母。但只有少數語言支持這一點。 Java不在他們的編號中。