Implicancias de uso de late binding

13
Peñalver Juan Rodríguez Brimar IMPLICANCIAS DE USO DE LATE BINDING Universidad de Oriente Núcleo Monagas Escuela de Ingeniería y Ciencias Aplicadas Áreas de Grado: CsC Tutor: Jonathan Vásquez Maturín, Marzo 2015

Transcript of Implicancias de uso de late binding

Page 1: Implicancias de uso de late binding

Peñalver JuanRodríguez Brimar

IMPLICANCIAS DE USO DE

LATE BINDING

Universidad de OrienteNúcleo Monagas

Escuela de Ingeniería y Ciencias AplicadasÁreas de Grado: CsC

Tutor: Jonathan Vásquez

Maturín, Marzo 2015

Page 2: Implicancias de uso de late binding

CONTENIDO

Grupo Ajax

INTRODUCCIÓN

LATE BINDING

HISTORIA

IMPLEMENTACIONES

CRÍTICA

USO

EJEMPLOS

CONCLUSIONES

Page 3: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

En la programación, los objetos contiene información que permite definirlo e identificarlo frente a otros objetos de la misma clase y a los de otras clases; teniendo así valores bien diferenciados en sus atributos.

A su vez, los objetos disponen de mecanismos llamados método, que favorecen la comunicación entre ellos. Como se conoce en el mundo de la Programación Orientada a Objetos existen dos tipos de enlaces los de la unión temprana o enlace estático y enlace tardío (Late Binding) o unión dinámica.

INTRODUCCIÓN

Page 4: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

Mecanismo de programación de

computadoras en el que se llama al método sobre un objeto, es buscado por su

nombre en tiempo de ejecución.

LATE BINDING

Page 5: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

HISTORIA

1960

1980

1990

2000

El término "late binding" se remonta a por lo menos la década de 1960, en los que se puede encontrar en las Comunicaciones de la ACM. El término fue ampliamente utilizado para describir lenguajes como LISP, aunque generalmente con connotaciones negativas sobre el rendimiento.

Popularizó La Programación Orientada A Objetos (POO) y con ella el enlace en tiempo. Dr. Alan Kay dijo una vez: "POO para mí significa sólo mensajería, retención local, y la protección y escondite de proceso estatal y extrema. Se puede hacer en Smalltalk y en LISP de todas las cosas de enlace tardío.

Microsoft promovió fuertemente su estándar COM como una interfaz binaria entre diferentes lenguajes de programación orientada a objetos. COM programación igualmente promovió enlace primero y reciente, con muchos idiomas apoyando tanto a nivel de sintaxis.

Alex Martelli acuñó el término "duck typing" para referirse al mismo concepto, pero con un énfasis diferente. Mientras que el enlace en tiempo generalmente se centra en los detalles de implementación, la tipificación de pato se centra en la capacidad de ignorar tipos y concentrarse en los métodos de un objeto tiene actualmente.

Page 6: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

IMPLEMENTACIONES DE LATE BINDING

La lista de métodos de un objeto puede ser alterado

durante la ejecución.

En lenguas de tipo dinámico

Normalmente ocurre cuando se utiliza la palabra clave virtual

en la declaración de un método.

En C++

Una llamada a un método de enlace en tiempo se lleva a cabo mediante la interfaz

IDispatch

En idiomas COM

Page 7: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

IMPLEMENTACIONES DE LATE BINDING

Proporciona API de reflexión que realizan llamadas a finales

vinculantes posibles. El uso de estas llamadas varía según el

lenguaje.

En .NET

Los tipos están unidos estáticamente, comprueban

durante la compilación diferentes implementaciones para las clases.

En Java

Una marca de tiempo se comprueba para verificar que el

procedimiento almacenado no ha cambiado desde que se compila el

código.

Temprana vs. el enlace reciente en PL / SQL y

ADA

Page 8: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

CRÍTICA

Tiene el rendimiento más pobre que una llamada de

método vinculado temprano.

En la mayoría de las implementaciones de la dirección

de método correcto debe ser buscado por su nombre con cada

llamada.Tardío impide necesariamente el uso de la comprobación de

tipos estáticos.

Page 9: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

CRÍTICA

El compilador tiene que asumir que existe el

método.

Un error de ortografía simple puede causar un error de tiempo

de ejecución para ser lanzado.

Evita muchas formas de análisis estático que necesita

un entorno de desarrollo integrado

Page 10: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

USO DE LOS LATE BINDING

Cuando múltiples clases, en una jerarquía de clases,

contienen diferentes implementaciones del mismo

método.

Modificar el comportamiento de un

código compilado.

Módulo nuevo que maneje nuevos tipos sin necesidad

de modificar el código fuente y recompilarlo.

Extender una librería de clases aunque no se tenga el código

fuente.Una ventaja del late binding es que no es costoso en tiempo de

ejecución.

Page 11: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

EJEMPLOS

class Padre { void imprimir() { System.out.println("Imprimir en Padre"); }} class Hijo extends Padre {// implementar imprimir() void imprimir() { System.out.println("Imprimir en Hijo"); }}

class Principal { public static void main(String args[]) { Padre miPadre = new Padre(); // objecto de la clase Padre Hijo miHijo = new Hijo(); // objecto de la clase Hijo Padre unObjeto; //Declaración de un objeto de la clase Padre unObjeto=miPadre; // unObjeto es una referencia al objeto miPadre unObjeto.imprimir(); unObjeto=miHijo; unObjeto.imprimir(); }}

Page 12: Implicancias de uso de late binding

Grupo Ajax

IMPLICANCIAS DE USO DE LATE BINDING

CONCLUSIONES

La programación orientada a objetos permite la optimización del código generado gracias a que mediante técnicas de herencia, atributos estáticos entre otros permiten, que el código sea genérico de manera que sea reutilizable

Mediante las técnicas aprendidas en el presente curso podemos establecer una solución primitiva de un problema real, tan solo con relacionarlo con objetos lógicos que serán usados para el desarrollo del software.

Los El Late binding permite modificar el comportamiento de un código compilado sobre la ejecución del mismo código.

Page 13: Implicancias de uso de late binding

¡Graciaspor su

atención!