Diferencia clave: unión temprana frente a unión tardía
El enlace temprano y el enlace tardío son dos conceptos relacionados con el polimorfismo. El enlace temprano se produce en tiempo de compilación mientras que el enlace tardío se produce en tiempo de ejecución. La diferencia clave entre Early Binding y Late Binding es que Early Binding usa la información de la clase para resolver la llamada al método, mientras que Late Binding usa el objeto para resolver la llamada al método.
Los lenguajes de programación como Java son compatibles con la programación orientada a objetos (OOP). Es un paradigma que permite construir el programa o el software utilizando objetos. Hay varios objetos en el software. Estos objetos están conectados entre sí y pasan mensajes mediante métodos. Todo objeto tiene características y comportamientos. Las características se describen mediante propiedades o atributos. Los comportamientos se describen mediante métodos. El objeto Student puede tener características como nombre, edad y están representadas por propiedades. El objeto Student puede tener comportamientos como estudiar y leer, y están representados por métodos. Un pilar importante de la programación orientada a objetos es el polimorfismo. Permite que un objeto se comporte de múltiples formas. Enlace temprano y enlace tardío son dos conceptos de polimorfismo. Los métodos de sobrecarga se enlazan mediante enlace anticipado. Los métodos anulados se enlazan mediante enlace tardío.
CONTENIDO
1. Descripción general y diferencia clave
2. Qué es la encuadernación temprana
3. Qué es la encuadernación tardía
4. Similitudes entre la encuadernación temprana y tardía
5. Comparación lado a lado: encuadernación temprana y tardía en forma tabular
6. Resumen
¿Qué es la vinculación anticipada?
En Early Binding, la información de la clase se usa para resolver la llamada al método. El enlace anticipado se produce en tiempo de compilación. También se conoce como enlace estático. En este proceso, el enlace ocurre antes de que el programa se ejecute realmente. Los métodos de sobrecarga se enlazan mediante enlace anticipado. Consulte el programa a continuación.
Figura 01: Clase de cálculo
Figura 02: Programa principal para la vinculación anticipada
Según el programa anterior, la clase de cálculo contiene un método de suma que acepta dos valores enteros y otro método de suma que acepta dos valores dobles. En el programa principal, se crea un objeto de tipo Cálculo. Al pasar dos enteros al método add, 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 vinculación ocurre en tiempo de 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.
¿Qué es la vinculación tardía?
En Enlace tardío, el objeto se utiliza para resolver la llamada al método. El enlace tardío se produce en tiempo de ejecución. También se conoce como enlace dinámico. En este proceso, el enlace ocurre durante la ejecución del programa. Los métodos anulados se enlazan mediante enlace tardío. Consulte el programa a continuación.
Figura 03: Clase de forma
Figura 04: Clase de círculo
Figura 05: Clase de triángulo
Figura 06: Programa principal para encuadernación tardía
Según el programa anterior, la clase Shape tiene un método de dibujo. La clase Círculo de clase y la clase Triángulo amplían la clase Forma. Por lo tanto, estas dos clases pueden heredar los atributos y métodos de la clase Shape. Shape Class es la clase base. Las clases Círculo y Triángulo son clases derivadas. La clase Circle y la clase Triangle también tienen el método de dibujo con sus propias implementaciones. Entonces, el método de dibujo en la clase Shape es anulado por los métodos de dibujo de las clases derivadas.
En el programa principal, se crea una variable de referencia s de tipo Shape. En tiempo de compilación, el compilador solo hará referencia al método de dibujo de la clase base. En tiempo de ejecución, se ejecutarán diferentes métodos de dibujo. Primero, s apuntará al objeto de tipo Shape. Entonces, se invoca el método de dibujo de la clase Shape. Luego, la s apuntará al objeto de tipo Circle, e invocará el método de dibujo de la clase Circle. Finalmente, s apuntará al objeto de tipo Triangle e invocará el método de dibujo en la clase Triangle. Los métodos se llaman según los objetos. Por lo tanto, el objeto se utiliza para resolver la llamada al método en Enlace tardío. La información necesaria para el enlace se proporciona en tiempo de ejecución, por lo que la velocidad de ejecución es más lenta en comparación con el enlace temprano.
¿Cuál es la similitud entre el enlace temprano y el enlace tardío?
Tanto el enlace temprano como el enlace tardío están relacionados con el polimorfismo que es un pilar de la programación orientada a objetos
¿Cuál es la diferencia entre enlace temprano y enlace tardío?
Diferencia del medio del artículo antes de la mesa
Encuadernación temprana vs Encuadernación tardía |
|
El proceso de utilizar la información de la clase para resolver la llamada al método que se produce en el momento de la compilación se denomina Enlace anticipado. | El proceso de utilizar el objeto para resolver la llamada al método que se produce en tiempo de ejecución se denomina Enlace tardío. |
Tiempo de unión | |
El enlace anticipado ocurre en tiempo de compilación. | La vinculación tardía ocurre en tiempo de ejecución. |
Funcionalidad | |
Early Binding usa la información de la clase para resolver la llamada al método. | El enlace tardío utiliza el objeto para resolver la llamada al método. |
Sinónimos | |
El enlace temprano también se conoce como enlace estático. | El enlace tardío también se conoce como enlace dinámico. |
Ocurrencia | |
Los métodos de sobrecarga se enlazan mediante enlace anticipado. | Los métodos anulados se enlazan mediante enlace tardío. |
Velocidad de ejecución | |
La velocidad de ejecución es más rápida en la vinculación temprana. | La velocidad de ejecución es menor en la vinculación tardía. |
Resumen: unión temprana o tardía
OOP se usa comúnmente para el desarrollo de software. Un pilar importante de la POO es el polimorfismo. El enlace temprano y el enlace tardío están relacionados con eso. El enlace temprano se produce en tiempo de compilación, mientras que el enlace tardío se produce en tiempo de ejecución. En la sobrecarga de métodos, la vinculación se produce mediante la vinculación temprana. En la anulación de método, la vinculación se produce mediante la vinculación tardía. La diferencia entre Early Binding y Late Binding es que Early Binding usa la información de la clase para resolver la llamada al método, mientras que Late Binding usa el objeto para resolver la llamada al método.