如何在UML类图中表示Kotlin类的数组属性?
Kotlin数组属性的UML类图建模方式
先看对应的Kotlin类代码:
class Student { private val courses: Array<String> = Array(30) {""} private val grades: IntArray = IntArray(30) }
在为该类绘制UML类图时,针对courses和grades这两个数组属性的建模,以下三种方式里第一种是正确的:
选项1(正确)
-courses: Array<String>[30] -grades: IntArray[30]
选项2(错误)
-courses: Array<String>(30) -grades: IntArray(30)
选项3(错误)
-courses: String[30] -grades: Int[30]
原因说明:
- UML标准语法中,固定大小的数组(集合)是在类型后方通过
[大小]标注容量限制,这是表达数组长度的规范方式。 - Kotlin代码里
courses的类型是Array<String>、grades是IntArray,UML需要准确映射原类型定义,不能简化成String[30]或Int[30]——虽然语义接近,但Array<String>和IntArray是Kotlin明确的数组类型,UML建模要还原这个类型信息。 - 选项2用
(30)的写法不符合UML规范,括号在UML里多用于标注构造参数或操作的入参,不能用来表示数组的大小。
内容的提问来源于stack exchange,提问作者Ali Dehkhodaei
相关产品推荐
相关产品推荐

