POO: Ligaduras dinámicas

Hablando de POO: ¿Una ligadura dinámica se realiza en tiempo de compilación o de ejecución?. ¿Aplica solo para funciones virtuales?. ¿Aplica para todos lo lenguajes de programación ?.

Anónimo

La ligadura dinámica se realiza en tiempo de ejecución.

Existen dos momentos al realizar la ligadura dinámica, el binding y el dispatch, el primero se encarga de asociar un nombre a la operación, y el segundo de elegir la implementación una vez se ha decidido el nombre al que se refiere la operación. Una función virtual es una función que el compilador guardará en una tabla llamada 'virtual table', lo que permitirá decidir en tiempo de ejecución que implementación de la función se debe utilizar. Por lo anterior, las funciones virtuales son las que permiten realizar la ligadura dinámica.

Aplica para los lenguajes que soporten orientación a objetos. En algunos casos, el lenguaje trata todas las funciones como virtuales, por tal razón no hay que hacer explícita la ligadura dinámica.


¿Quién contestó?

Nick Pipe
Nombre completo Juan Felipe Cañizares Corrales
Social

Discusión

¡Haga sus comentarios o preguntas aquí!