Want to make creations as awesome as this one?

Transcript

Cómo funcionan los mensajes
  • Invocación de métodos: enviar un mensaje a un objeto generalmente implica invocar un método de ese objeto. La sintaxis específica para enviar mensajes varía entre los diferentes lenguajes de programación orientados a objetos, pero el concepto subyacente es el mismo. En muchos lenguajes, esto se logra mediante el uso del operador punto (.), seguido del nombre del método y cualquier argumento que el método requiera entre paréntesis.
  • Encapsulamiento: los mensajes son una manifestación del principio de encapsulamiento en POO, ya que permiten a los objetos interactuar entre sí sin revelar los detalles internos de su implementación. Los objetos simplemente exponen interfaces (métodos públicos) a través de las cuales pueden comunicarse.
Un mensaje se envía a un objeto para solicitar que ejecute uno de sus métodos, lo cual puede involucrar también pasar datos (argumentos) a ese método. Esta forma de interacción es esencial para implementar el comportamiento del software, donde los objetos colaboran para realizar tareas a través del envío de mensajes entre ellos.

4.14 Mensajes

Para ver la información, da clic en las imágenes.

Unidad 4. Conceptos de Programación Orientada a Objetos (POO)

Explicación del código En este ejemplo, la clase Interruptor envía mensajes a un objeto de la clase Lampara para encenderla o apagarla, dependiendo de su estado actual. Esto se logra invocando los métodos encender() o apagar() del objeto Lampara, que son los mensajes enviados por el objeto Interruptor.

public class Lampara { private boolean encendida; // Método para "encender" la lámpara public void encender() { encendida = true; System.out.println("Lámpara encendida."); } // Método para "apagar" la lámpara public void apagar() { encendida = false; System.out.println("Lámpara apagada."); public class Interruptor { public void accionar(Lampara lampara) { if (lampara.estaEncendida()) { lampara.apagar(); // Envío de mensaje para apagar la lámpara } else { lampara.encender(); // Envío de mensaje para encender la lámpara } } }
Ejemplo en Java del envío de mensajes Consideremos un ejemplo simple para ilustrar cómo se envían mensajes entre objetos: