web-dev-qa-db-ja.com

自己メッセージ(非再帰的)と自己再帰的メッセージ

これら2つのメッセージの違いは何ですか?私はウェブを少し検索しました、そして私が見つけることができたほとんどのものは

自己メッセージは、オブジェクトがそれ自体に送信するメッセージです。同じライフラインのメッセージの呼び出しを表すメッセージです。自己メッセージは、操作の再帰呼び出し、または同じオブジェクトに属する別のメソッドを呼び出す1つのメソッドを表すことができます。

再帰メッセージがもたらす追加のアクティベーションバーの利点は何ですか?

グラフィカルな表記法:

非再帰的な自己メッセージ:

enter image description here

再帰的な自己メッセージ

enter image description here

違いはなんですか?

20

クラス内で他の関数を呼び出さない、メッセージを送信しない(または送信するが、これを順番に表示したくない)関数を呼び出す場合は、セルフメッセージを使用する必要があります。

クラスの内部関数が他のライフラインとどのように相互作用するかもモデル化する場合は、再帰呼び出しを使用してこれを表示する必要があります。そうしないと、読者はメッセージが内部関数から送受信されていることを知ることができません。

18
vainolo