La unión temprana y la unión tardía son dos conceptos relacionados con el polimorfismo. La unión temprana ocurre en el momento de la compilación, mientras que la unión tardía ocurre en tiempo de ejecución. El diferencia clave Entre la unión temprana y tardía es que La vinculación temprana utiliza la información de clase para resolver la llamada del método mientras que el enlace tardío utiliza el objeto para resolver el método llamando.
Lenguajes de programación como Java admite la programación orientada a objetos (OOP). Es un paradigma que permite construir el programa o el software utilizando objetos. Hay múltiples objetos en el software. Estos objetos están conectados entre sí y pasan mensajes utilizando métodos. Cada objeto tiene características y comportamientos. Las características se describen por las propiedades o atributos. Los comportamientos se describen utilizando métodos. El estudiante objeto puede tener características como el nombre, la edad y están representados por las propiedades. El estudiante objeto puede tener comportamientos como estudio y lectura, y están representados por métodos. Un pilar importante de OOP es el polimorfismo. Permite que un objeto se comporte de múltiples maneras. La unión temprana y la unión tardía son dos conceptos en el polimorfismo. Los métodos de sobrecarga se unen utilizando unión temprana. Los métodos anulados se unen mediante unión tardía.
1. Descripción general y diferencia de claves
2. ¿Qué es la encuadernación temprana?
3. ¿Qué es el encuadernación tardía?
4. Similitudes entre la unión temprana y tardía
5. Comparación lado a lado: unión temprana vs tardía en forma tabular
6. Resumen
En la vinculación temprana, la información de la clase se utiliza para resolver la llamada del método. La unión temprana ocurre en el momento de la compilación. También se conoce como la unión estática. En este proceso, el enlace ocurre antes de que el programa realmente se ejecute. Los métodos de sobrecarga se unen utilizando unión temprana. Consulte el siguiente programa.
Figura 01: Clase de cálculo
Figura 02: Programa principal para la vinculación temprana
Según el programa anterior, la clase de cálculo contiene un método ADD que acepta dos valores enteros y otro método ADD que acepta dos valores dobles. En el programa principal, se crea un objeto de cálculo de tipo. Al pasar dos enteros al método Agregar, invocará el método ADD que acepta dos enteros. Al pasar dos valores dobles al método ADD, invocará el método correspondiente a dos valores dobles. Este proceso de unión ocurre en el momento de la compilación. Toda la información requerida se conoce antes del tiempo de ejecución, por lo que aumenta la eficiencia del programa y la velocidad de ejecución.
En el enlace tardío, el objeto se usa para resolver el método llamando. La unión tardía ocurre en tiempo de ejecución. También se conoce como vinculación dinámica. En este proceso, el enlace ocurre en la ejecución del programa. Los métodos anulados se unen mediante unión tardía. Consulte el siguiente programa.
Figura 03: Clase de forma
Figura 04: clase de círculo
Figura 05: Clase Triangle
Figura 06: Programa principal para enlace tardío
Según el programa anterior, la forma de clase tiene un método de sorteo. Clase de clase y clase de triángulo de clase extiende la clase de forma. Por lo tanto, estas dos clases pueden heredar los atributos y métodos de la clase de forma. La clase de forma es la clase base. Las clases de círculo y triángulo son clases derivadas. El círculo de clases y el triángulo de clase también tienen el método de sorteo con sus propias implementaciones. Entonces, el método de dibujo en la clase de forma se anula por los métodos de dibujo de las clases derivadas.
En el programa principal, se crea una variable de referencia de forma de tipo. En el momento de la compilación, el compilador solo referirá el método de sorteo de la clase base. En tiempo de ejecución, se ejecutarán diferentes métodos de dibujo. Primero, S señalará el objeto de forma de tipo. Entonces, se invoca el método de dibujo de la clase de forma. Entonces el S apuntará al objeto de tipo círculo, e invocará el método de dibujo de la clase círculo. Finalmente, S apuntará al objeto de tipo Triángulo, e invocará el método de dibujo en la clase Triangle. Los métodos se llaman dependiendo de los objetos. Por lo tanto, el objeto se usa para resolver el método que llama en un enlace tardío. La información requerida para la vinculación se proporciona en el momento de ejecución, por lo que la velocidad de ejecución es más lenta en comparación con la unión temprana.
ANISTACIÓN TEMPRARA VS ANILLACIÓN TARDE | |
El proceso de uso de la información de clase para resolver la llamada del método que ocurre en el momento de la compilación se llama vinculación temprana. | El proceso de usar el método del objeto para resolver el método que ocurre en el tiempo de ejecución se llama la unión tardía. |
Tiempo de encuadernación | |
La encuadernación temprana ocurre en el momento de la compilación. | La encuadernación tardía ocurre en tiempo de ejecución. |
Funcionalidad | |
La vinculación temprana utiliza la información de clase para resolver la llamada del método. | La vinculación tardía utiliza el objeto para resolver la llamada del método. |
Sinónimos | |
La unión temprana también se conoce como unión estática .. | La unión tardía también se conoce como vinculación dinámica. |
Ocurrencia | |
Los métodos de sobrecarga se unen utilizando unión temprana. | Los métodos anulados se unen mediante unión tardía. |
Velocidad de ejecución | |
La velocidad de ejecución es más rápida en la unión temprana. | La velocidad de ejecución es menor en la unión tardía. |
OOP se usa comúnmente para el desarrollo de software. Un pilar importante de OOP es el polimorfismo. La unión temprana y la unión tardía están relacionadas con la. La unión temprana ocurre en el momento de la compilación, mientras que la unión tardía ocurre en tiempo de ejecución. En la sobrecarga de métodos, la unión ocurre utilizando la unión temprana. En la medición general del método, la unión ocurre utilizando la unión tardía. La diferencia entre la unión temprana y tardía es que la vinculación temprana usa la información de la clase para resolver la llamada del método, mientras que la vinculación tardía usa el objeto para resolver el método llamando al método.
1.Entrevista de Java 04 - Enlace estático frente a enlace dinámico, Tutoriales de Mahika, 27 de diciembre. 2017. Disponible aquí
2.Envío de métodos dinámicos en Java | Tutorial de Java Core | StudyTonight. Disponible aquí