自我消息(非递归)vs自递归消息

mic*_*nko 19 uml sequence-diagram

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

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

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

以图形表示法:

非递归自我消息:

在此输入图像描述

递归的自我消息

在此输入图像描述

有什么不同?

vai*_*olo 19

当您在类中调用函数时,您应该使用自己的消息,这些函数不会调用其他函数,也不会发送任何消息(或者它们会执行,但您不希望在序列中显示此消息).

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