Want to create interactive content? It’s easy in Genially!

Get started free

S5_PV_4.14

e-Study

Created on September 9, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Smart Presentation

Practical Presentation

Essential Presentation

Akihabara Presentation

Pastel Color Presentation

Visual Presentation

Relaxing Presentation

Transcript

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

4.14 Mensajes

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.
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.

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

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.

Ejemplo en Java del envío de mensajes Consideremos un ejemplo simple para ilustrar cómo se envían mensajes entre objetos:
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 } } }