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
INTRODUCCIÓN
LATE BINDING
HISTORIA
IMPLEMENTACIONES
CRÍTICA
USO
EJEMPLOS
CONCLUSIONES
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
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
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.
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
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
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.
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
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.
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();
}
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.
Implicancias de uso de late binding

Implicancias de uso de late binding

  • 1.
    Universidad de Oriente NúcleoMonagas Escuela de Ingeniería y Ciencias Aplicadas Áreas de Grado: CsC Tutor: Jonathan Vásquez Maturín, Marzo 2015
  • 2.
  • 3.
    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
  • 4.
    Mecanismo de programación decomputadoras en el que se llama al método sobre un objeto, es buscado por su nombre en tiempo de ejecución. LATE BINDING
  • 5.
    HISTORIA 1960 1980 1990 2000 El término "latebinding" 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.
  • 6.
    IMPLEMENTACIONES DE LATEBINDING 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
  • 7.
    IMPLEMENTACIONES DE LATEBINDING 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
  • 8.
    CRÍTICA Tiene el rendimientomá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.
  • 9.
    CRÍTICA El compilador tieneque 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
  • 10.
    USO DE LOSLATE 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.
  • 11.
    EJEMPLOS class Padre { voidimprimir() { 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(); }
  • 12.
    CONCLUSIONES La programación orientadaa 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.