web stats

Ejercicios De Polimorfismo En Java Resueltos


Ejercicios De Polimorfismo En Java Resueltos

Polimorfismo, en Java, significa "muchas formas". En programación, se refiere a la capacidad de un objeto de tomar muchas formas.

¿Qué es el Polimorfismo?

Imagina tener un control remoto que puede operar diferentes dispositivos: un televisor, un reproductor de DVD y un equipo de sonido. El mismo botón de "encendido" funciona de manera diferente para cada dispositivo. Eso es polimorfismo.

En Java, el polimorfismo se logra a través de herencia e interfaces. Permite tratar objetos de diferentes clases de manera uniforme.

Tipos de Polimorfismo

Existen principalmente dos tipos:

  • Polimorfismo en tiempo de compilación (estático o sobrecarga): Ocurre cuando tenemos múltiples métodos con el mismo nombre pero diferentes parámetros dentro de la misma clase. El compilador decide qué método ejecutar basándose en los argumentos que se le pasan.
  • Polimorfismo en tiempo de ejecución (dinámico o sobreescritura): Se basa en la herencia. Una subclase puede sobreescribir un método heredado de su superclase. La JVM (Java Virtual Machine) determina qué método ejecutar en tiempo de ejecución basándose en el tipo real del objeto.

Ejemplos Prácticos

Sobrecarga (Compilación):

EJERCICIO RESUELTO DE POLIMORFISMO EN JAVA
EJERCICIO RESUELTO DE POLIMORFISMO EN JAVA

Considera una clase llamada Calculadora:


class Calculadora {
    int sumar(int a, int b) { return a + b; }
    double sumar(double a, double b) { return a + b; }
}

Calculadora calc = new Calculadora();
int resultadoInt = calc.sumar(5, 10); // Llama al primer método sumar
double resultadoDouble = calc.sumar(5.5, 10.2); // Llama al segundo método sumar
    

Aquí, el método sumar está sobrecargado. El compilador elige la versión correcta según los tipos de datos.

EJERCICIO de POLIMORFISMO en Java ☕ 05: RESUELTO Paso a Paso - YouTube
EJERCICIO de POLIMORFISMO en Java ☕ 05: RESUELTO Paso a Paso - YouTube

Sobreescritura (Ejecución):

Imagina una clase Animal con un método emitirSonido():

Solucion ejercicios java (99) - Herencia y polimorfismo-1
Solucion ejercicios java (99) - Herencia y polimorfismo-1

class Animal {
    void emitirSonido() { System.out.println("Sonido genérico"); }
}

class Perro extends Animal {
    @Override
    void emitirSonido() { System.out.println("Guau!"); }
}

class Gato extends Animal {
    @Override
    void emitirSonido() { System.out.println("Miau!"); }
}

Animal animal1 = new Animal();
Animal animal2 = new Perro();
Animal animal3 = new Gato();

animal1.emitirSonido(); // Imprime "Sonido genérico"
animal2.emitirSonido(); // Imprime "Guau!"
animal3.emitirSonido(); // Imprime "Miau!"
    

Aquí, Perro y Gato sobreescriben el método emitirSonido() de la clase Animal. Aunque todos son referenciados como Animal, cada uno emite su propio sonido específico gracias al polimorfismo en tiempo de ejecución.

Beneficios del Polimorfismo

  • Flexibilidad: Permite agregar nuevas clases y comportamientos sin modificar el código existente.
  • Reutilización de código: Facilita la creación de código más genérico y reutilizable.
  • Mantenimiento: Simplifica el mantenimiento del código al reducir la duplicación.

En resumen, el polimorfismo es un concepto poderoso en Java que permite crear código más flexible, reusable y mantenible.

Polimorfismo de Variables en Java: Una Guía Completa para Desarrolladores Solucion ejercicios java (99) - Herencia y polimorfismo-2 Solución ejercicios java (99) – Herencia y polimorfismo-3 Ejercicio Java. "Servicios" - Práctica con Clases Abstractas, Herencia Polimorfismo de Variables en Java: Una Guía Completa para Desarrolladores

You might also like →