2011-07-22 101 views
0

我有一個類(A類),其中包含類型爲B類的對象.B類有三個子類。UML接口與類關聯?

是否應B類實際上是一個接口,然後我可以得出接口和A類之間的聚合關聯(以及三個子類實現接口)

是否應B類,是實際的類,有3個子類,全部四個類(B + 3個子類)實現接口(通過B類)?

回答

1

我會說要問自己這些問題:1。 你曾經創建B類的實例?如果是,那麼它應該是一個普通班級。如果沒有, 2.類B應該包含派生類應該能夠使用的任何功能嗎?如果是的話,你應該創建一個其他類繼承的抽象類,如果沒有,就把它作爲一個接口。

+0

所以,如果我選擇後者接口選項,那麼我仍然可以得出A類和接口之間的聚合關聯? – Jean

+0

是的,你應該可以做到這一點。但請注意,我是C#程序員,因此取決於您使用的語言可能會有所不同。 –

0

如果類A包含類型爲B的對象,這意味着類B被實例化,因此它不能是接口。

+1

並非完全如此。它們可以被實例化爲子類,但被引用爲接口類型。 –