0 votos
por en Java

1 Respuesta

0 votos
Mejor respuesta

El enlace dinámico es un tipo de polimorfismo. En resumen rápido, son varias clases que tienen el mismo método y se determina el uso de uno u otro en tiempo de ejecución.

Un ejemplo que me acabe de inventar podría ser llamar a la clase "query(consulta)" (que se encargaría de realizar la consulta a la base de datos), dicho método "query()" existirá en cada una de las clases de cada una de las diferentes bases de datos que tengamos (no es lo mismo la forma de consultar los datos en una base de datos SQL de Oracle que de Microsoft, tampoco es igual a leer los datos de en un fichero, que leerlos de un servidor, etc.). De este modo podríamos llamar a query() del objeto dinámico, por lo que para nosotros no cambiaría nada del código en este punto más que el objeto de la base de datos. Un ejemplo en pseudocódigo sería:

interfaz Padre {
    func query(consulta)
}

class BdSQL extends Padre {
 @Override
 func query(consulta){
     ...
 }
}

class BdFichero extends Padre {
 @Override
 func query(consulta){
     ...
 }
}

//Aquí podemos escoger (enalce dinámico) el hijo que nos venga bien
Padre miBd = BdSQL
// O escoger
Padre miBd = BdFichero()

// El resto de código va a ser igual
miBd.query(la_consulta_que_necesitemos)

También te facilitamos varios ejemplos explicados completamente en: https://jarroba.com/polimorfismo-en-java-parte-i-con-ejemplos/

por
seleccionada por

muchas gracias por tu ayuda yessmiley