Class Game
Method: addPlayer(param Player)
我想为我的方法addPlayer创建一个不变量,以便验证参数Player是否存在。
示例:
context Game::addPlayer(pl:Player)
inv pl->exists( p : Player | p.playerID = pl.playerID )
不确定语法是否有效
答案 0 :(得分:2)
如果约束本身有意义,我不会参与讨论。在这种情况下,只是一些评论可以帮助您理解OCL。
pl->exists(...)
,因此你的约束将永远为真。使用allInstances()操作
context Game::addPlayer(pl:Player)
pre : Player.allInstances()->exists(p : Player | p.playerID = pl.playerID )