2012-07-24 5 views
17

В чем разница между этими двумя сообщениями? Я несколько раз искал в Интернете, и многое из того, что я мог найти, этосамо сообщение (не рекурсивное) против саморекурсивного сообщения

Само сообщение - это сообщение, которое отправляет сам объект. Это сообщение, которое представляет собой вызов сообщения той же линии жизнеобеспечения. Само сообщение может представлять собой рекурсивный вызов операции или один метод, вызывающий другой метод, принадлежащий одному и тому же объекту.

В чем преимущество дополнительной панели активации, которую приносит рекурсивное сообщение?

В графической нотации:

не рекурсивное само сообщение:

enter image description here

рекурсивное само сообщение

enter image description here

чем разница?

ответ

15

Вы должны использовать само сообщение, когда вы вызываете функции в классе, которые либо не вызывают другие функции, не отправляют никаких сообщений (или они это делают, но вы не хотите показывать это в последовательности) ,

Если вы хотите также моделировать, как внутренние функции класса взаимодействуют с другими линиями жизни, вам нужно использовать рекурсивные вызовы, чтобы показать это, иначе читатель не сможет знать, что сообщения отправляются/получаются из внутренней функции ,