Thomas Uhrig
Thomas Uhrig

Reputation: 31623

Association between three classes

I have the following situation/ model:

enter image description here

I have a Player class which has a Color and a Figure. Quite simple. But now I want to give the Figure an association to the Color:

enter image description here

Now I'm looking for a way to force the Figure to have the same Color as the Player. Perhaps I'm missing something very obvious, but I don't have any idea how to do it. Is there any OCL expression?

I'm using Magic Draw.

Upvotes: 2

Views: 4359

Answers (3)

Michalis Famelis
Michalis Famelis

Reputation: 198

You can use a ternary association. UML supports N-ary associations. See here.

Also, here is a YouTube video about drawing ternary associations in MagicDraw.

Upvotes: 4

user2395936
user2395936

Reputation: 21

Let Color be an associationClass between the others, so that for every two instances of them, there is a single instance of color, which is what you want.

Upvotes: 2

umlcat
umlcat

Reputation: 4143

"Figure to have the same Color as the Player"

This is, usually, not handled as a direct association, but, indirectly, by the Player class & its associations.

Its valid to have a "Color" property in "Figure", and add a restriction, that is modeled as a O.C.L. comment / note.

Upvotes: 1

Related Questions