2012-07-24 16 views
17

¿Cuál es la diferencia de estos dos mensajes? Realicé búsquedas en la web un poco y la mayoría de lo que pude encontrar esmensaje propio (no recursivo) vs mensaje recursivo auto

Un mensaje personal es un mensaje que un objeto envía a sí mismo. Es un mensaje que representa la invocación del mensaje de la misma línea de vida. Un auto-mensaje puede representar una llamada recursiva de una operación, o un método que llama a otro método que pertenece al mismo objeto.

¿Cuál es el beneficio de la barra de activación adicional que trae el mensaje recursivo?

En notación gráfica:

no recursivo mensaje de auto:

enter image description here

recursiva mensaje de auto

enter image description here

¿cuál es la diferencia?

Respuesta

15

Debe utilizar un mensaje automático cuando llame funciones de la clase que no llaman a otras funciones, no envían ningún mensaje (o lo hacen, pero no desea mostrarlo en la secuencia) .

Si también desea modelar cómo las funciones internas de la clase interactúan con otras líneas de vida, debe usar llamadas recursivas para mostrar esto; de lo contrario, el lector no puede saber que los mensajes se envían/​​reciben desde la función interna .