如何使用 typedef unsigned 在 UML 中编写数据属性
how to write data attributes in UML with typedef unsigned
这是我的示例代码我的问题是我如何在 UML Class 图中编写 uint delay
图,因为它是 typedef unsigned
---------- ---------------------------------------------- ------------------------------我应该这样写吗? - delay : int
还是这样? - delay : uint
-------------------------------------
typedef unsigned int uint;
class MyBreakoutGameType : ...
{
public:
private:
uint delay;
};
上述代码的图表应如下所示
UML 有一些预定义的基本类型,例如"Integer",但 "int" 不是 UML 中预定义的基本类型。可以使用带有 «primitive» 关键字的 classifier 对新的基本类型进行建模(UML 2.5 规范,第 10.2.5 节)。指定对应的C++数据类型,不妨加个注释:
然后,你可以使用这个原始数据类型作为属性的数据类型,像这样:
当然,这使得 class 依赖于 «primitive» uint 的存在。您可以通过绘制从 MyBreakoutGameType 到 uint 的虚线箭头来强调这种依赖性,但这是可选的。
Enterprise Architect 13.5 版确实将 typedef
s 导入为 classes 并带有 «typedef»
构造型。然后通过泛化引用原始类型。这样底层类型的信息就不会丢失。
如果 «typedef»
构造型未定义(并且不应添加到使用的配置文件中),您可以使用与原始类型有 «import»
关系的普通 class .
This answer 建议仅使用 «import»
关系指定连接器上的别名。我不喜欢该解决方案,因为这样就无法引用别名。
这是我的示例代码我的问题是我如何在 UML Class 图中编写 uint delay
图,因为它是 typedef unsigned
---------- ---------------------------------------------- ------------------------------我应该这样写吗? - delay : int
还是这样? - delay : uint
-------------------------------------
typedef unsigned int uint;
class MyBreakoutGameType : ...
{
public:
private:
uint delay;
};
上述代码的图表应如下所示
UML 有一些预定义的基本类型,例如"Integer",但 "int" 不是 UML 中预定义的基本类型。可以使用带有 «primitive» 关键字的 classifier 对新的基本类型进行建模(UML 2.5 规范,第 10.2.5 节)。指定对应的C++数据类型,不妨加个注释:
然后,你可以使用这个原始数据类型作为属性的数据类型,像这样:
当然,这使得 class 依赖于 «primitive» uint 的存在。您可以通过绘制从 MyBreakoutGameType 到 uint 的虚线箭头来强调这种依赖性,但这是可选的。
Enterprise Architect 13.5 版确实将 typedef
s 导入为 classes 并带有 «typedef»
构造型。然后通过泛化引用原始类型。这样底层类型的信息就不会丢失。
如果 «typedef»
构造型未定义(并且不应添加到使用的配置文件中),您可以使用与原始类型有 «import»
关系的普通 class .
This answer 建议仅使用 «import»
关系指定连接器上的别名。我不喜欢该解决方案,因为这样就无法引用别名。