Modeling Primitive Types
构建原始类型模型
At the other extreme, the things you model may be drawn directly from the programming language you are using to implement a solution. Typically, these abstractions involve primitive types, such as integers, characters, strings, and even enumeration types, that you might create yourself.
另一方面,你建模的事物也许直接来自为实现解决方案而使用的编程语言.最典型地的是抽象事物所包含的原始类型,如整数,字符,字符串,甚至枚举类型,你还可以创建自己的原始类型.
To model primitive types,
为原始类型建模,
1.Model the thing you are abstracting as a class or an enumeration, which is rendered using class notation with the appropriate stereotype.
将抽象的事物以某种类或是某种枚举类型建模,这是通过带有适当模板标识的类来表达这种模型.
2.If you need to specify the range of values associated with this type, use constraints.
如果你需要指定该类型关联的值的范围,使用约束.
As Figure 4-12 shows, these things can be modeled in the UML as types or enumerations, which are rendered just like classes but are explicitly marked via stereotypes. Primitive types such as integers (represented by the class Int ) are modeled as types, and you can explicitly indicate the range of values these things can take on by using a constraint; the semantics of primitive types must be defined externally to UML. Enumeration types, such as Boolean and Status , can be modeled as enumerations, with their individual literals listed within the attribute compartment (note that they are not attributes ). Enumeration types may also define operations.
如图4-12显示的,这些事物在UML中可以做为类型或是枚举型建模,它们像类一样但是通过模式化被明确标识.象整数这样的原始类型被作为类型建模,并且你可以通过在这些事物上使用约束来明确地指示出值的范围;原始类型的语义必须从外部定义到UML.枚举类型,如布尔和状态,可以作为枚举建模,在属性栏里用具体的文字列出(备注不是属性).枚举类型也能定义操作.
Note: Some languages, such as C and C++, let you set an integer value for an enumeration literal. You can model this in the UML by attaching a note to an enumeration literal as implementation guidance. Integer values are not needed for logical modeling.
备注:某些语言,如C和C++,允许你为枚举内容设置整数值.在UML中你可以通过给枚举内容附上备注作为实施向导.整数值不是逻辑建模所必震的.