【发布时间】:2020-05-30 16:01:35
【问题描述】:
我有一个作业要求我为一个实际的 Java 程序创建一个 UML 图。 但是程序中有几个构造函数方法,我很困惑。 我应该将这些构造函数方法添加到图表中吗?
【问题讨论】:
我有一个作业要求我为一个实际的 Java 程序创建一个 UML 图。 但是程序中有几个构造函数方法,我很困惑。 我应该将这些构造函数方法添加到图表中吗?
【问题讨论】:
根据 UML 规范(2.5 版的第 11.4.4 节):
构造函数是一个操作,它有一个属于所属类类型的返回结果参数,并用标准构造型«Create»标记。
如果您要创建图表来记录代码,则应包含所有显式构造函数。
如果您正在构建一个专注于功能的模型,通常会省略构造函数。但是你的细节层次就完全不同了。
【讨论】:
isStatic=true 不是必需的,因为UML 将Object 的创建和它的初始化与构造函数分开。 CreateObjectAction 创建一个空对象,«create»-operation 然后必须填写所有默认值,满足后置条件和不变量并启动其分类器行为(如果适用)。当然,如果你想描述一个 Java 程序,采用 Java 约定是有意义的。