gpt4 book ai didi

uml - 我什么时候在 UML 中使用 self 消息和递归消息?

转载 作者:行者123 更新时间:2023-12-04 05:03:00 27 4
gpt4 key购买 nike

我遇到了以下帖子,但很难理解它 - self message(non recursive) vs self recursive message .

我也在 http://www.zicomi.com/messageRecursion.jsp 看到了这个例子。希望真实世界的场景会有所帮助,但这让我更加困惑。当订单已传递给厨房和厨师时,为什么还需要递归消息。我认为您所需要的只是一条自我信息,即厨师完成订单然后将其传递给服务员。

最佳答案

厨师示例在其显示和描述的内容中可以说是“错误的”。

简单地说,给 self 的消息只是意味着接下来要调用的方法恰好在同一类对象中。例如对 SavingsAccount.withdraw(anAmount) 的调用可能会调用 SavingsAccount.getBalance() 来确定是否有足够的资金来继续提款。

递归调用是调用 self 的一种特殊情况,因为它调用的是相同的方法(具有不同的状态,因此它最终可以从递归调用中返回)。一些问题适用于这种解决方案。一个例子是阶乘(见 Factorial)。在没有递归的情况下进行阶乘是不可能的(至少对于所有情况,但最简单的情况是,由于需要大量的内联代码)。如果您查看阶乘代码示例,您会看到调用每次更改 1 (factorial(n-1)) 并在 n 达到零时停止。如果没有递归,尝试对像 1,000,000 这样的值进行内联操作是不可行的。

关于uml - 我什么时候在 UML 中使用 self 消息和递归消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15886637/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com