Diferencia entre vinculación temprana y tardía

Tabla de contenido:

Diferencia entre vinculación temprana y tardía
Diferencia entre vinculación temprana y tardía

Video: Diferencia entre vinculación temprana y tardía

Video: Diferencia entre vinculación temprana y tardía
Video: Desarrollo durante la adultez: temprana, intermedia y tardía 2024, Noviembre
Anonim

Diferencia clave: vinculación anticipada y tardía

Early Binding y Late Binding 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 llamadas a métodos, mientras que Late Binding usa el objeto para resolver llamadas a métodos.

Los lenguajes de programación como Java admiten 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 usando métodos. Cada objeto tiene características y comportamientos. Las características son descritas por las propiedades o atributos. Los comportamientos se describen utilizando métodos. El objeto Estudiante puede tener características como nombre, edad y se representan por propiedades. El objeto Estudiante puede tener comportamientos como estudiar y leer, y se representan mediante métodos. Un pilar importante de OOP es el polimorfismo. Permite que un objeto se comporte de múltiples maneras. El enlace temprano y el enlace tardío son dos conceptos en polimorfismo. Los métodos de sobrecarga se unen mediante enlace anticipado. Los métodos anulados se vinculan mediante enlace tardío.

¿Qué es la vinculación anticipada?

En Early Binding, la información de la clase se usa para resolver llamadas a métodos. El enlace temprano se produce en tiempo de compilación. También se conoce como enlace estático. En este proceso, el enlace se produce antes de que se ejecute el programa. Los métodos de sobrecarga se unen mediante enlace anticipado. Consulte el siguiente programa.

Diferencia entre enlace temprano y tardío
Diferencia entre enlace temprano y tardío

Figura 01: Clase de cálculo

Diferencia entre enlace temprano y tardío_Figura 02
Diferencia entre enlace temprano y tardío_Figura 02

Figura 02: Programa principal para enlace anticipado

Según el programa anterior, la clase Calculation 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 se produce 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 Late Binding, el objeto se usa para resolver llamadas a métodos. La vinculación tardía se produce en tiempo de ejecución. También se conoce como enlace dinámico. En este proceso, el enlace se produce en la ejecución del programa. Los métodos anulados se vinculan mediante enlace en tiempo de ejecución. Consulte el siguiente programa.

Diferencia entre enlace temprano y tardío_Figura 03
Diferencia entre enlace temprano y tardío_Figura 03

Figura 03: Clase de forma

Diferencia entre enlace temprano y tardío_Figura 04
Diferencia entre enlace temprano y tardío_Figura 04

Figura 04: Clase circular

Diferencia entre enlace temprano y tardío_Figura 05
Diferencia entre enlace temprano y tardío_Figura 05

Figura 05: Clase Triángulo

Diferencia clave entre la vinculación temprana y tardía
Diferencia clave entre la vinculación temprana y tardía

Figura 06: Programa principal para enlace tardío

Según el programa anterior, la clase Forma tiene un método de dibujo. La clase Círculo 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 Circle y Triangle son clases derivadas. La clase Circle y la clase Triangle también tienen el método draw con sus propias implementaciones. Por lo tanto, el método de dibujo en la clase Forma se reemplaza por los métodos de dibujo de las clases derivadas.

En el programa principal, se crea una variable de referencia s de tipo Forma. En el momento de la 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 Forma. Entonces, se invoca el método de dibujo de la clase Shape. Luego, la 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 dibujar en la clase Triángulo. Los métodos se llaman dependiendo de los objetos. Por lo tanto, el objeto se usa para resolver llamadas a métodos en enlace en tiempo de ejecución. La información requerida 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 la vinculación temprana y la vinculación tardía?

Tanto Early Binding como Late Binding están relacionados con el polimorfismo que es un pilar de OOP

¿Cuál es la diferencia entre la vinculación temprana y la vinculación tardía?

Early Binding vs Late Binding

El proceso de usar la información de la clase para resolver llamadas a métodos que ocurren en el momento de la compilación se llama Early Binding. El proceso de usar el objeto para resolver la llamada de método que ocurre en tiempo de ejecución se denomina enlace tardío.
Tiempo de encuadernación
Early Binding 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 llamadas a métodos. Late Binding usa el objeto para resolver la llamada a métodos.
Sinónimos
Early Binding también se conoce como enlace estático.. La vinculación tardía también se conoce como vinculación dinámica.
Ocurrencia
Los métodos de sobrecarga se unen mediante enlace anticipado. Los métodos anulados se vinculan mediante enlace en tiempo de ejecución.
Velocidad de ejecución
La velocidad de ejecución es más rápida en la vinculación anticipada. La velocidad de ejecución es menor en la vinculación tardía.

Resumen: vinculación anticipada y 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 anticipada. En la anulación de métodos, el enlace se realiza mediante el enlace tardío. La diferencia entre Early Binding y Late Binding es que Early Binding usa la información de la clase para resolver las llamadas a métodos, mientras que Late Binding usa el objeto para resolver las llamadas a métodos.

Recomendado: