2016-12-20 50 views
-1

我嘗試寫ocl來給child(動物)添加約束,但約束必須是用戶父類名(mamifere)。我認爲第一個版本不起作用,我認爲第二個例子有更好的解決方案。請幫幫我 ?例如動物uml/ocl訪問父類名

圖像:

enter image description here

+0

你應該澄清你試圖建模哪個子關係。沒有任何東西模仿這個方向。 –

回答

1

這看起來很奇怪。你的第一個約束告訴(假設它鏈接到animalaninmal的類型必須是mamifere,但mamifere繼承自animal。那沒有意義。

第二個變體也沒有意義。如果約束適用於圖中的任何內容,則每個實例必須命名爲mamifere2。因此,您只能使用名稱== mamifere2的實例。尤其令人奇怪的是一個vivipare2實例。

我沒有看到你在哪裏建模任何兒童關係。所以我只是猜測你的意思是這樣的:

enter image description here

孩子有兩個父母(當然,對於人類有,現在可以更多)。並且可能有*孩子必須與父母具有相同的類型(所以你不能模擬騾子等)。