【问题标题】:self message(non recursive) vs self recursive message自我消息(非递归)与自我递归消息
【发布时间】:2012-07-22 12:17:00
【问题描述】:

这两条消息有什么区别?我在网上搜索了一下,我能找到的大部分是

自我消息是对象发送给自身的消息。它是一条消息,表示调用同一生命线的消息。一条 self 消息可以表示一个操作的递归调用,或者一个方法调用属于同一对象的另一个方法。

递归消息带来的额外激活栏有什么好处?

用图形表示:

非递归自我消息:

递归自我消息

有什么区别?

【问题讨论】:

    标签: uml sequence-diagram


    【解决方案1】:

    当您调用类中的函数时,您应该使用 self 消息,这些函数要么不调用其他函数,要么不发送任何消息(或者它们会发送但您不想按顺序显示)。

    如果您还想模拟类的内部函数如何与其他生命线交互,则必须使用递归调用来显示这一点,否则读者无法知道消息是从内部函数发送/接收的。

    【讨论】: