如何将最终变量添加到类图中

Noo*_*lak 12 uml

我正在为拼字游戏设计一个类图.在其中一个类中,我声明了最终变量.任何人都可以告诉我,如何在UML类图中将变量指示为final?

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}


ebo*_*oix 10

常量(即最终)字段通过命名约定指示:常量应该在ALL_CAPS中

资源

  • 虽然命名约定是表示常量的充分方式,但OP也有机会将自定义构造型添加到常量属性,例如"常量"或"最终".OP正在尝试对其模型执行自动分析,例如使用OCL,这将特别有用. (4认同)
  • [来源](http://cs.nmu.edu/~mkowalcz/cs120f08/uml/UMLdiagram.html) 死了:( (2认同)