Miembro : Login |Registro |Subir conocimiento
Buscar
Envío dinámico [Modificación ]
En informática, el despacho dinámico es el proceso de seleccionar qué implementación de una operación polimórfica (método o función) llamar en el tiempo de ejecución. Se emplea comúnmente y se considera una característica principal de los lenguajes y sistemas de programación orientada a objetos (OOP).
Los sistemas orientados a objetos modelan un problema como un conjunto de objetos que interactúan y que representan operaciones referidas por nombre. El polimorfismo es el fenómeno en el que objetos algo intercambiables exponen cada uno una operación del mismo nombre pero que posiblemente difiere en el comportamiento. Como ejemplo, un objeto File y un objeto Database tienen un método StoreRecord que se puede usar para escribir un registro de personal en el almacenamiento. Sus implementaciones son diferentes. Un programa contiene una referencia a un objeto que puede ser un objeto Archivo o un objeto Base de datos. Lo cual puede haber sido determinado por una configuración de tiempo de ejecución, y en esta etapa, el programa puede no saber o importar cuál. Cuando el programa llama a StoreRecord en el objeto, algo necesita decidir qué comportamiento se promulga. Si uno piensa que OOP envía mensajes a objetos, en este ejemplo el programa envía un mensaje StoreRecord a un objeto de tipo desconocido, dejándolo al sistema de soporte en tiempo de ejecución para enviar el mensaje al objeto correcto. El objeto representa cualquier comportamiento que implemente.
El envío dinámico contrasta con el envío estático, en el que la implementación de una operación polimórfica se selecciona en tiempo de compilación. El propósito del despacho dinámico es admitir casos en los que la implementación apropiada de una operación polimórfica no se puede determinar en tiempo de compilación porque depende del tipo de tiempo de ejecución de uno o más parámetros reales para la operación.
El envío dinámico es diferente del enlace tardío (también conocido como enlace dinámico). En el contexto de seleccionar una operación, el enlace asocia un nombre a una operación. El envío elige una implementación para la operación después de que haya decidido a qué operación se refiere el nombre. Con el envío dinámico, el nombre puede estar ligado a una operación polimórfica en tiempo de compilación, pero la implementación no se elegirá hasta el tiempo de ejecución. Si bien el despacho dinámico no implica un enlace tardío, el enlace tardío implica el envío dinámico, ya que el enlace es lo que determina el conjunto de despachos disponibles.
[Sobrecarga del operador][Paso de mensajes]
1.Envío único y múltiple
2.Mecanismos dinámicos de envío
2.1.Implementación de C
2.2.Implementación Go and Rust
2.3.Implementación Smalltalk
[Subir Más Contenido ]


Derechos de autor @2018 Lxjkh