10.2 DataTypes

10.2.1 概要

DataType(数据类型)对那些只能通过值来区分的实例类型进行建模。

10.2.2 抽象语法

图10.1 DataTypes

10.2.3 语义

DataTypes

数据类型是一种分类符。数据类型与类不同,它们只能通过值来鉴别。具有相同值的一个数据类型的所有实例被认为是相等的实例。

如果数据类型有属性(attributes),他称为一个结构化的数据类型。结构化的数据类型的实例包含匹配它的属性的属性值。一个结构化的数据类型的实例被认为是相等的当且仅当它们的结构式相同的,并且相应的属性值是相等的。

数据类型可以被参数化、绑定,以及用作模板参数。

基本类型

基本类型定义了一个已定义的数据类型,它们没有子结构。基本类型可能具有在UML之外定义的代数和操作,例如数学上的。基本类型的运行时实例是定义在UML之外的对应数学元素的值(例如,整数)。

Enumerations

Enumeration(枚举)是一种数据类型。枚举中的每个值对应一个用户定义的EnumerationLiteral(枚举字面量)。

作为分类符的一个特化,枚举可以参与到泛化关系。对另一个枚举进行特化的枚举定义了在前一个(generalizing)枚举中没有定义的新的枚举字面量;此种情况下,可用的字面量集合包括继承的字面量加本地定义的。

枚举字面量定义了枚举运行期扩展的一个元素。枚举字面量对应的值是不可改变的,并且可以用于相等性比较。枚举字面量在存在期内可能(may)不能改变,因此枚举的任意属性都应该是只读的。

枚举字面量具有在枚举中可以鉴别自己的名称。该名字在枚举中是唯一的,并且被界定在枚举中。对于一般性使用,枚举字面量的名字应该是限定的。

10.2.4 表示法

数据类型使用带有关键字«dataType»的分类符图示(一个矩形)来指定,或者当它被引用时(例如,被一个属性),可以使用该数据类型的名称。列举属性的格间被置于名称格间之下。列举操作的格间位于属性格间之下。

类似的,基本类型使用位于该基本类型名称之上或之前的«primitive»关键字来指示。

枚举也是类似地被指定。枚举的名称放置在顶层格间,«enumeration»关键字在名称之上或之前。枚举字面量列表可以一行一个的放于一个名为“literals”的格间,该格间位于操作格间之下。属性和操作格间可以被抑制,通常它们被抑制并且为空。

10.2.5 示例

图10.2展示了用于定义一个基本类型的图示。

图10.2 PrimitiveType Notation

图10.3展示了定义数据类型的图示。右边定义的Person类型中的fullName属性的类型是左边定义的FullName类型。

图10.3 DataType Notation

图10.4展示了定义枚举的图示。

图10.4 Enumeration Notation

results matching ""

    No results matching ""