You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非严格UML规范下序列图能否展示对象作为参数传入另一对象函数?

序列图传参场景展示问题解答

核心结论

在你给出的两个前提约束下,完全可以在序列图中展示对象作为参数传入其他对象函数的场景,你提到的隐藏参数信息的简化展示方式也是可行的,具体选择看你要传递的核心信息:

  • 如果你的序列图核心是展示交互时序、参与对象的调用关系,不需要体现参数细节,只标注add()调用的简化写法完全可用
  • 如果你需要明确体现「object2作为入参传入add方法」的逻辑,只要灵活调整序列图的标注规则即可,不需要使用其他UML图

最优实现方式

不用修改序列图的基础结构,只需要调整调用消息的标注即可实现需求:

  • 最直接的写法:将object1到object2的调用消息标注直接改为add(object2),一眼就能看出入参是object2实例
  • 如果需要补充参数属性细节,可以在调用箭头旁附加注释便签,标注入参为O类实例,携带属性name="object2"
  • 要是还需要体现方法执行后的结果,可以在object1的生命线对应执行位置添加标注,说明执行后自身name属性更新为"object1 + object2"

相关参考代码

你给出的JS逻辑代码如下:

var object1 = new O("object1");
var object2 = new O("object2");
object1.add(object2);
alert(object1.name);  // object1 + object2

function O(param) {
    this.name = param;
    this.add = function(param) {
        this.name = this.name + " + " + param.name;
    };
}

原示例序列图

原序列图示例

内容的提问来源于stack exchange,提问作者Seymour Azzes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 12:06:03