Red de conocimiento informático - Conocimiento sistemático - La diferencia entre enlaces estáticos y enlaces dinámicos y la implementación de enlaces dinámicos.

La diferencia entre enlaces estáticos y enlaces dinámicos y la implementación de enlaces dinámicos.

La vinculación es el proceso de interrelacionar los propios programas. Según las diferentes etapas de la vinculación, se puede dividir en vinculación estática y vinculación dinámica.

El enlace estático, también conocido como enlace estático, significa que al llamar a una función con el mismo nombre (es decir, una función sobrecargada), el compilador determinará la implementación de la función que se debe llamar en función del valor real. parámetros utilizados en la llamada en tiempo de compilación. Se compila durante las etapas de compilación y vinculación del programa. Esta compilación también se denomina compilación temprana porque este trabajo de compilación se completa antes de ejecutar el programa. Su ventaja es que es rápido y eficiente, pero no lo suficientemente flexible.

La construcción en tiempo de compilación también se denomina enlace estático. La vinculación es el proceso de determinar la relación entre una función llamada y el código que ejecuta esa función.

La programación colaborativa dinámica, también conocida como enlace dinámico, se refiere a determinar la implementación de la función del mismo nombre llamada en tiempo de ejecución en función de la situación actual, de hecho, selecciona la implementación de la función virtual en. tiempo de ejecución. Este tipo de coprogramación también se denomina coprogramación tardía o dinámica (vinculante). Condiciones de implementación: para tener herencia, se debe crear una relación de subtipo;) Debe haber una función virtual; ③ Acceda a funciones virtuales a través de punteros o referencias de objetos de clase base. La herencia es la base del enlace dinámico y las funciones virtuales son la clave del enlace dinámico. Una vez derivadas las funciones virtuales, se puede lograr el polimorfismo cuando se ejecuta la familia de clases. La programación colaborativa dinámica requiere resolver la relación entre las llamadas a funciones y la ejecución del código de función en el programa en tiempo de ejecución, y determinar el objeto que llama a la función virtual en tiempo de ejecución. Para referencias al mismo objeto, el uso de diferentes métodos de construcción generará objetos de diferentes clases. En otras palabras, diferentes asociaciones pueden elegir diferentes métodos de implementación, lo cual es polimorfismo. La ventaja es la flexibilidad, pero la baja eficiencia.