La herencia y el polimorfismo son dos conceptos fundamentales de la programación orientada a objetos (POO) en Java.
Herencia y Polimorfismo en Java ejemplos prácticos
La herencia se refiere a la capacidad de una clase para heredar propiedades y métodos de otra clase padre. Esto significa que una subclase puede heredar los atributos y métodos de su clase padre y puede agregar su propia funcionalidad.
¡Recuerda!, que si deseas aprender Java, paso a paso; puedes ingresar GRATIS, a mi CANAL DE YouTube, dónde podrás encontrar ejercicios explicados para ti.
Por otro lado, el polimorfismo se refiere a la capacidad de un objeto para tomar muchas formas. En Java, esto se logra a través del uso de interfaces y clases abstractas. El polimorfismo permite a los desarrolladores escribir código que puede funcionar con diferentes tipos de objetos.
A continuación, te daré un ejemplo práctico de cómo se utilizan la herencia y el polimorfismo en Java:
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
Código ejemplo práctico de Herencia y Polimorfismo en Java
// Clase Padre
class Vehiculo {
protected String marca;
protected String modelo;
public Vehiculo(String marca, String modelo) {
this.marca = marca;
this.modelo = modelo;
}
public void arrancar() {
System.out.println(«Arrancando el vehículo»);
}
}
// Clase hija
class Coche extends Vehiculo {
private int numPuertas;
public Coche(String marca, String modelo, int numPuertas) {
super(marca, modelo);
this.numPuertas = numPuertas;
}
public void abrirPuertas() {
System.out.println(«Abriendo las » + numPuertas + » puertas del coche»);
}
}
// Clase principal
public class Main {
public static void main(String[] args) {
// Crear un objeto de la clase Coche
Coche miCoche = new Coche(«Toyota», «Corolla», 4);
// Llamar al método arrancar() de la clase Vehiculo
miCoche.arrancar();
// Llamar al método abrirPuertas() de la clase Coche
miCoche.abrirPuertas();
// Polimorfismo – Usar la clase Padre como referencia a la clase Hija
Vehiculo vehiculoPolimorfico = new Coche(«Mazda», «CX-5», 5);
vehiculoPolimorfico.arrancar();
// vehiculoPolimorfico.abrirPuertas() // Esto no compila porque la clase Vehiculo no tiene un método «abrirPuertas()»
}
}
Explicación del código anterior
En este ejemplo, tenemos una clase padre llamada Vehiculo
que tiene un constructor y un método arrancar()
. Luego, tenemos una clase hija llamada Coche
que hereda de la clase Vehiculo
y agrega su propio atributo numPuertas
y su propio método abrirPuertas()
.
En la clase principal, creamos un objeto miCoche
de la clase Coche
y lo usamos para llamar a los métodos arrancar()
y abrirPuertas()
.
También mostramos un ejemplo de polimorfismo al crear un objeto vehiculoPolimorfico
de la clase Vehiculo
y asignarlo a un objeto Coche
. Aunque vehiculoPolimorfico
es una referencia a un objeto Coche
, solo puede acceder a los métodos y atributos de la clase Vehiculo
.
Espero que este ejemplo te haya ayudado a entender mejor la herencia y el polimorfismo.