2010-03-18 154 views
7

當你畫的繼承圖你經常去爲什麼箭頭繼承?

 
         Base 
         ^
          | 
         Derived 

衍生延伸基地。那麼爲什麼箭頭會上升?

我認爲這意味着「派生與基地通信」通過調用其中的函數,但基地不能調用派生的功能。

回答

5

AFAIK一個原因是符號一致性。所有其他定向箭頭(依賴項,聚合,合成)都從依賴項指向依賴項。

在繼承中,B依賴於A,但反之亦然。因此,箭頭指向從B到A.

+1

繼承是一種依賴形式 – krosenvold 2010-03-18 16:31:22

+1

繼承是物質含義。 'B => A'的意思是「每個B意味着一個A」。 – Apocalisp 2010-03-19 16:33:50

0

B是主語,A是客體,動作是「繼承」。所以B作用於A,因此箭頭的方向。

0

我認爲這一點是爲了表達「泛化」:一個是B.

這樣的箭頭表示相同的概念在延伸的推廣,但去了「正確」的方式

1

我一直認爲它有更多的東西在它然後A(子類通常有比超類更多的方法),因此B獲得箭頭的寬端和A獲得尖尖的結局!

2

在UML中,箭頭被稱爲「泛化」關係,它僅表示Derived類的每個對象也是類Base的對象。

從上層建築2.1.2:

A Generalization is shown as a line with a hollow triangle as an 
arrowhead between the symbols representing the involved classifiers. 
The arrowhead points to the symbol representing the general 
classifier. This notation is referred to as the 「separate target style.」 

不是一個真正的答案,雖然這個問題:-)

1

閱讀箭頭「繼承自」,這是有道理的。或者,如果您願意,可以將其視爲可以撥打電話的方向。

+0

我同意你的第一部分,但關於第二部分,以下是可能的:[調用基類 的派生類函數](http://stackoverflow.com/a/4869284/2361131) – harshvchawla 2017-05-05 04:53:40