7.5 对象和属性
OCL表达式可以引用分类符,例如类型、类、接口、关联和数据类型。而且也可以使用这些类型上定义的所有属性、关联端、方法和无副作用的操作。在一个类模型中,如果一个操作或方法的 isQuery 属性为真的话,那么该操作就是无副作用的。为了本文档描述的方便,我们把属性(attributes)、关联端,以及无副作用的方法和操作都称为属性(properties)。一个 property 是:
- 一个 Attribute
- 一个关联端
- isQuery为真的操作
- isQuery为真的方法
类图中定义的对象的属性值在OCL表达式中使用点号来指定。例如:
context Person inv:
self.isMarried
如果self是一个对象的引用,那么self.property就是self上property属性的值。