0Pricing
Java Academy · Lección

Polimorfismo y enlace dinámico

Comprenda el polimorfismo: una interfaz y muchas implementaciones. Aprenda el enlace dinámico, en el que el método ejecutado depende del tipo del objeto.

Polimorfismo y enlace dinámico es una lección gratuita de Java Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Java Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Java Academy incluye 3 lecciones en total.

Definición

Polimorfismo significa que un tipo de referencia puede apuntar a objetos de distintas subclases. Cuando llama a un método, se ejecuta la versión correcta según el objeto real, no según el tipo de la variable.

¿Por qué es útil?

Esto permite escribir código flexible y reutilizable. Por ejemplo, una List de Animal puede contener objetos Dog y Cat, y la llamada a speak() funciona correctamente para cada uno. No necesita rutas de código separadas.

Enlace dinámico

Enlace dinámico significa que la decisión sobre qué cuerpo de método ejecutar se toma en tiempo de ejecución. La JVM examina el tipo real del objeto, no solo el tipo declarado, al elegir el método.

Llamadas coherentes

Con el polimorfismo, puede tratar todas las subclases de la misma manera. La llamada al mismo método en cada objeto funciona y la JVM selecciona la versión correcta. Esto produce un código más limpio y breve.

Ejemplo cotidiano

Ejemplo: Shape es la clase padre. Circle y Square sobrescriben draw(). Un bucle sobre una lista de Shape llama a draw() para cada elemento y se ejecuta la versión correcta. Así se aplica el polimorfismo en la práctica cotidiana.

Código: demostración de polimorfismo

En el código, Dog y Cat sobrescriben speak(). Un array de Animal contiene objetos diferentes. Cada llamada ejecuta automáticamente la versión correcta, lo que muestra el polimorfismo en acción.

public class Main {
  static class Animal {
    void speak() {
      System.out.println("Some animal sound");
    }
  }

  static class Dog extends Animal {
    @Override
    void speak() {
      System.out.println("Woof!");
    }
  }

  static class Cat extends Animal {
    @Override
    void speak() {
      System.out.println("Meow!");
    }
  }

  public static void main(String[] args) {
    Animal[] pets = { new Dog(), new Cat(), new Animal() };
    for (Animal a : pets) {
      a.speak(); // dynamic binding picks correct version
    }
  }
}

Comprobación del polimorfismo

Comprobación rápida: ¿Qué le permite hacer el polimorfismo en Java?

Repaso

Repaso: Polimorfismo = una referencia, muchas formas. El enlace dinámico selecciona el método en tiempo de ejecución, lo que aporta flexibilidad y un código limpio.

Preguntas frecuentes

¿La lección «Polimorfismo y enlace dinámico» es gratis?

Sí — el texto completo de «Polimorfismo y enlace dinámico» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Java Academy, actualiza a CoddyKit PRO. El curso de Java Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Polimorfismo y enlace dinámico»?

Comprenda el polimorfismo: una interfaz y muchas implementaciones. Aprenda el enlace dinámico, en el que el método ejecutado depende del tipo del objeto. Practicas Java Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Java Academy?

No se requiere experiencia previa. Java Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.

¿Cuánto tiempo toma la lección «Polimorfismo y enlace dinámico»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Java Academy?

Sí. Cada lección de Java Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. extends y super
  2. Sobrescritura de métodos
  3. Polimorfismo y enlace dinámico
← Volver a Java Academy