0% encontró este documento útil (0 votos)
27 vistas1 página

6.2. - Ligadura Dinámica

El documento aborda la utilización avanzada de clases en programación orientada a objetos, centrándose en conceptos como ligadura dinámica, herencia, polimorfismo y clases abstractas. Se explica que la ligadura dinámica permite determinar qué versión de un método se invocará en tiempo de ejecución, en función del tipo de objeto instanciado. Además, se incluye un ejercicio práctico para ilustrar el uso de polimorfismo y ligadura dinámica mediante un ejemplo de clases que representan instrumentos musicales.

Cargado por

dlnatalia20sep
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
27 vistas1 página

6.2. - Ligadura Dinámica

El documento aborda la utilización avanzada de clases en programación orientada a objetos, centrándose en conceptos como ligadura dinámica, herencia, polimorfismo y clases abstractas. Se explica que la ligadura dinámica permite determinar qué versión de un método se invocará en tiempo de ejecución, en función del tipo de objeto instanciado. Además, se incluye un ejercicio práctico para ilustrar el uso de polimorfismo y ligadura dinámica mediante un ejemplo de clases que representan instrumentos musicales.

Cargado por

dlnatalia20sep
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 1

Utilización avanzada de clases. 6.2.- Ligadura dinámica.

1.- Relaciones entre clases.


2.- Composición.
3.- Herencia. La conexión que tiene lugar durante una llamada a un método suele ser
llamada ligadura, vinculación o enlace (en inglés binding). Si esta vinculación se
4.- Clases abstractas. lleva a cabo durante el proceso de compilación, se le suele llamar ligadura
5.- Interfaces. estática (también conocido como vinculación temprana). En los lenguajes tradicionales,
no orientados a objetos, ésta es la única forma de poder resolver la ligadura (en tiempo
6.- Polimorfismo. de compilación). Sin embargo, en los lenguajes orientados a objetos existe otra
6.1.- Concepto de posibilidad: la ligadura dinámica (también conocida como vinculación tardía, enlace
polimorfismo. tardío o late binding).

6.2.- Ligadura dinámica. La ligadura dinámica hace posible que sea el tipo de objeto instanciado (obtenido mediante el constructor finalmente
utilizado para crear el objeto) y no el tipo de la referencia (el tipo indicado en la declaración de la variable que apuntará
6.3.- Limitaciones de la
al objeto) lo que determine qué versión del método va a ser invocada. El tipo de objeto al que apunta la variable de tipo
ligadura dinámica.
referencia sólo podrá ser conocido durante la ejecución del programa y por eso el polimorfismo necesita la ligadura
6.4.- Interfaces y polimorfismo. dinámica.
6.5.- Conversión de objetos. En el ejemplo anterior de la clase X y sus subclases A y B, la llamada al método m sólo puede resolverse mediante
Anexo I.- Elaboración de los ligadura dinámica, pues es imposible saber en tiempo de compilación si el método m que debe ser invocado será el
constructores de la clase definido en la subclase A o el definido en la subclase B:
Rectangulo.
Anexo II.- Métodos para las
// Llamada al método m (sin saber si será el método m de A o de B).
clases heredadas Alumno y
obj.m () // Esta llamada será resuelta en tiempo de ejecución (ligadura dinámica)
Profesor.
Anexo III.- Métodos para los
atributos de las clases Alumno y
con
Profesor.
Anexo IV.- Contextos del eXeL
modificador final.
Ejercicio resuelto
Imagínate una clase que represente un instrumento musical genérico (Instrumento) y dos subclases que
representen tipos de instrumentos específicos (por ejemplo Flauta y Piano). Todas las clases tendrán un
método tocarNota, que será específico para cada subclase.

Haz un pequeño programa de ejemplo en Java que utilice el polimorfismo (referencias a la superclase
que se convierten en instancias específicas de subclases) y la ligadura dinámica (llamadas a un método
que aún no están resueltas en tiempo de compilación) con estas clases que representan instrumentos
musicales. Puedes implementar el método tocarNota mediante la escritura de un mensaje en pantalla.

Mostrar retroalimentación

« Anterior Siguiente »

También podría gustarte