2017-05-06 31 views
1

想象一下下面的类人OCL是它允许写操作的约束和属性

================ 
| Person | 
|--------------| 
|- name  | 
|- age   | 
|--------------| 
|+ drinkWater()| 
|+ drinkBeer() | 
================ 

使用OCL,是有可能设定一个约束的操作drinkBeer()?例如只允许Person> = 21岁的人喝啤酒?

+0

这是可能的,但我从不使用OCL。它有纯粹的学术气味。我总是写出人类可读的约束。 –

回答

1
context Person::drinkBeer() 
pre Adult: self.age >= 21 

应该可能做到。

+0

非常感谢我做了另一篇文章相关:http://stackoverflow.com/questions/43819795/ocl-write-constraint-on-an-operation-of-class-a-and-attribute-of-class- b – S12000