2012-07-24 18 views
17

これらの2つのメッセージの違いは何ですか?私は少しウェブを検索しました。私が見つけることができるものはほとんどありません。自己メッセージ(非再帰)と自己再帰メッセージ

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

再帰的メッセージがもたらす追加のアクティベーションバーの利点は何ですか?グラフィカル表記で

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

enter image description here

再帰自己メッセージ

enter image description here

違いは何ですか?

答えて

15

他の関数を呼び出さないクラスで関数を呼び出すときには、自己メッセージを使用する必要があります。メッセージを送信しないでください(または、シーケンスでこれを表示したくない) 。

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