Ejercicio Java
En este ejercicio, crearás un programa en Java que defina una clase base llamada Animal
con atributos comunes como nombre
y edad
, y métodos para acceder a estos atributos. Luego, crearás una clase derivada llamada Perro
que herede de la clase Animal
y sobrescriba el método hacerSonido()
para ofrecer una implementación específica para los perros. El objetivo es entender cómo la herencia permite reutilizar código y extender la funcionalidad de las clases en Java.
Instrucciones:
- Crea una clase base llamada
Animal
con los atributos nombre
y edad
, y métodos getters
y setters
para estos atributos.
- Crea una clase derivada llamada
Perro
que herede de la clase Animal
y sobrescriba el método hacerSonido()
para que imprima un sonido específico de los perros, como "¡Guau!".
- En el método principal, crea un objeto de la clase
Perro
, establece su nombre y edad, y llama al método hacerSonido()
para mostrar el comportamiento sobrescrito.
Este ejercicio te ayudará a comprender cómo **heredar** funcionalidades de una clase base a una clase derivada, cómo sobrescribir métodos y cómo utilizar la herencia para promover la reutilización del código en Java.
Ver código de ejemplo
public class Animal {
// Atributos comunes
private String nombre;
private int edad;
// Constructor
public Animal(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
// Getters y Setters
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
// Método que será sobrescrito
public void hacerSonido() {
System.out.println("El animal hace un sonido.");
}
}
public class Perro extends Animal {
// Constructor que hereda de Animal
public Perro(String nombre, int edad) {
super(nombre, edad);
}
// Sobrescribir el método hacerSonido
@Override
public void hacerSonido() {
System.out.println("¡Guau!");
}
public static void main(String[] args) {
// Crear un objeto de la clase Perro
Perro perro = new Perro("Rex", 5);
// Mostrar los detalles del perro
System.out.println("Nombre: " + perro.getNombre());
System.out.println("Edad: " + perro.getEdad() + " años");
// Llamar al método sobrescrito
perro.hacerSonido();
}
}
Salida:
Nombre: Rex
Edad: 5 años
¡Guau!
Este programa muestra cómo **heredar** funcionalidades de una clase base a una clase derivada, y cómo sobrescribir métodos para personalizar el comportamiento de una clase derivada en Java. Este concepto de **herencia** es clave en la **programación orientada a objetos** para reutilizar y extender el código.