OCL позволяет писать ограничение на операцию и атрибут

Представьте себе следующий класс Person

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

Можно ли с помощью OCL установить ограничение на операцию drinkBeer()? Например, разрешать пить пиво только лицам >= 21 года?


person S12000    schedule 06.05.2017    source источник
comment
Это возможно, но я никогда не использую OCL. От него пахнет чисто академическим. Я всегда пишу удобочитаемые ограничения.   -  person qwerty_so    schedule 06.05.2017


Ответы (1)


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

наверное должен сделать.

person qwerty_so    schedule 06.05.2017
comment
Большое спасибо, я сделал еще один пост, связанный с этим: stackoverflow.com/questions/43819795/ - person S12000; 06.05.2017