implicancias de uso de late binding
TRANSCRIPT
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
CONTENIDO
Grupo Ajax
INTRODUCCIÓN
LATE BINDING
HISTORIA
IMPLEMENTACIONES
CRÍTICA
USO
EJEMPLOS
CONCLUSIONES
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
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
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.
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
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
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.
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
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.
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(); }}
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.
¡Graciaspor su
atención!