带有UML类图的可选参数
在UML类类型图中是否有指定方法可选参数的官方语法 例如,我有一个方法:带有UML类图的可选参数,uml,Uml,在UML类类型图中是否有指定方法可选参数的官方语法 例如,我有一个方法: public function abc( $arg = 0) { ... return void; } 如何指出$arg是可选参数及其默认值?UML2.5对参数列表有以下定义 是以下格式的操作参数列表::=[',']* ::= [] ‘:’ [‘[‘’]’] [‘=’ ] [‘{‘ [‘,’ ]*“}”] 其中: ::='in'|'out'|'inout'(如果省略,则默认为'in'。 是参数的名称。 是指定
public function abc( $arg = 0) { ... return void; }
如何指出$arg是可选参数及其默认值?UML2.5对参数列表有以下定义
是以下格式的操作参数列表::=[',']* ::= [] ‘:’ [‘[‘’]’] [‘=’ ] [‘{‘ [‘,’ ]*“}”]
::='in'|'out'|'inout'(如果省略,则默认为'in'。
是参数的名称。
是指定参数类型的表达式。
是参数的多重性。(见乘法运算-第7.5款)。
是定义参数默认值的值规范的表达式。
表示应用于参数的其他属性值。
+abc($arg:Integer=0)
类型表达式不是可选的,所以您不能忽略它,但我想您可以考虑一种约定,在该约定中,您可以使用UML 2.5规范第9.4.3.4章参数p中的
未指定。107:
参数是参数的规范,用于将信息传入或传出BehavioralFeature调用。参数的类型和多重性限制了可以传递的值、数量以及值是否有序。多重性定义了在运行时传递给参数的值的上下限。下限为零表示该参数是可选的。使用参数的操作可以在没有可选参数值的情况下执行。下限大于零意味着参数值需要在操作执行期间的某个时间到达
如果为参数指定了defaultValue,则仅当且仅当在调用BehavioralFeature时未提供任何参数时,才会在调用时对其求值并将其用作此参数的参数
然而,多样性通常不会显示在类图表示上。信息只存储在元数据中。至少我从未见过任何工具使用Geert的答案所指出的符号。是“[variable\u name:data\u type=default\u value]”吗?在UML中,我们使用术语操作
来表示你所称的方法
@GeertBellekens Hehe,在上层结构中搜索方法
:-)@ThomasKilian方法
是实现操作的行为
。在这种情况下,我们讨论的是规范,而不是实现,因此操作
可能需要编写+abc($arg:Integer[0..1]=0)
来显示可选性?可以,但多样性是可选的,因此允许忽略它。如果一个参数有一个默认值,我想这意味着它是可选的。Integer[0..1]
意味着该方法根本不需要$arg
中的值,但它将始终有一个值,或者由您提供,或者由默认值提供。