Car*_*ten 12
最终的不同概念都以不同的方式表示:
最终定义,即它不能在子类中重写 - 这对应于属性的isLeaf属性:
isLeaf:Boolean - 指示是否可以进一步重新定义RedefinableElement.如果值为true,则无法进一步重新定义RedefinableElement.(UML超结构,第132页)
isLeaf = true的属性没有正式表示法,但添加"{leaf}"很常见.
最终值,即其值无法更改 - 这对应于属性的isReadOnly属性:
isReadOnly:Boolean - 如果为true,则只能读取属性,而不能写入属性.默认值为false.(UML超结构,第125页)
只读属性的表示法包括在属性字符串中附加"{readOnly}".
常量通常是指类本身的不可更改的属性而不是实例(静态最终属性).在UML中,它将具有上面提到的两个属性,另外还是静态的,它对应于isStatic属性:
isStatic:Boolean - 指定此功能是否表征由分类器(false)或分类器本身(true)分类的各个实例.默认值为false.(UML超结构,第69页)
通过为属性定义加下划线来指示静态属性.如前所述,常量通常是大写的,但这只是一个约定.
因此,总而言之,具有值"x"的String类型的常量属性FOO将如下所示并且另外加下划线(这里不支持):
+ FOO:String ="x"{readOnly,leaf}