Ejemplo de herencia

Ejemplo aplicando Herencia en Java

Clases de la Herencia

Tenemos nuestra clase Animal, con los atributos:

  • nombre
  • tipo de alimentación
  • edad

La clase hija Mamífero, con el atributo:

  • gestación (periodo de gestación en meses)

Y 3 clases hijas de Mamífero:

Perro, con el atributo.

  • raza

Gato, con el atributo:

  •  pedigrí

Caballo, con los atributos:

  • comida
  • ejercicio (veces/día que hace ejercicio)

Cada una de las clases hijas tiene diferentes atributos, pero comparten las mismas propiedades de un Animal.

Para ello crearemos nuestra clase padre Animal:

public class Animal {
    private String nombre;
    private String tipo_alimentacion;
    private int edad;

    public Animal() {

    }
    public Animal(String nombre, String tipo_alimentacion, int edad){
        this.nombre = nombre;
        this.tipo_alimentacion = tipo_alimentacion;
        this.edad = edad;
    }
    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public String getTipo_alimentacion() {
        return tipo_alimentacion;
    }
    public void setTipo_alimentacion(String tipo_alimentacion) {
        this.tipo_alimentacion = tipo_alimentacion;
    }
    public int getEdad() {
        return edad;
    }
    public void setEdad(int edad) {
        this.edad = edad;
    }
    public String toString(){
        
        return this.nombre + ", " + this.tipo_alimentacion + ", " + this.edad;
    }
}

A continuación creamos nuestras clases hijas.

Clase Mamífero

public class Mamifero extends Animal{
    private int gestacion;

    public Mamifero() {
        super();
    }
    public Mamifero(String nombre, String tipo_alimentacion, int edad, int gestacion) {
        super(nombre, tipo_alimentacion, edad);
        this.gestacion = gestacion;
    }
    public int getGestacion(){

        return this.gestacion;
    }
    public void setGestacion(int gestacion){
        this.gestacion = gestacion;
    }
    public String toString() {
        
        return super.toString() + ", " + this.gestacion;
    }
}

Clase Perro

public class Perro extends Mamifero {
    private String raza;

    public Perro() {
        super();
    }
    public Perro(String nombre, String tipo_alimentacion, int edad, int gestacion, String raza) {
        super(nombre, tipo_alimentacion, edad, gestacion);
        this.raza = raza;
    }
    public String getRaza() {

        return this.raza;
    }
    public void setRaza(String raza) {
        this.raza = raza;
    }
    public String toString() {
        
        return super.toString() + ", " + this.raza;
    }
}

Clase Gato

public class Gato extends Mamifero {
    private String pedigri;

    public Gato() {
        super();
    }
    public Gato(String nombre, String tipo_alimentacion, int edad, int gestacion, String pedigri) {
        super(nombre, tipo_alimentacion, edad, gestacion);
        this.pedigri = pedigri;
    }
    public String getPedigri() {

        return this.pedigri;
    }
    public void setPedigri(String pedigri) {
        this.pedigri = pedigri;
    }
    public String toString() {
        
        return super.toString() + ", " + this.pedigri;
    }
}

Clase Caballo

public class Caballo extends Mamifero {
    private String comida;
    private int ejercicio = 1; //nº de veces/día que hace ejercicio

    public Caballo() {
        super();
    }
    public Caballo(String nombre, String tipo_alimentacion, int edad, int gestacion, String comida, int ejercicio) {
        super(nombre, tipo_alimentacion, edad, gestacion);
        this.comida = comida;
        this.ejercicio = ejercicio;
    }

    public String getComida() {
        return comida;
    }

    public void setComida(String comida) {
        this.comida = comida;
    }

    public int getEjercicio() {
        return ejercicio;
    }

    public void setEjercicio(int ejercicio) {
        this.ejercicio = ejercicio;
    }
    public String toString() {
        
        return super.toString() + ", " + this.comida + ", " + this.ejercicio;
    }
}

Una vez realizadas nuestras clases, crearemos un programa para crear los objetos de cada uno de nuestras clases hijas y asignarles las propiedades necesarias.

public class EjemploAnimal {
    public static void main(String[] args) {
        Animal animal = new Animal("Gustavo", "insectos", 3);
        Mamifero mamifero = new Mamifero("Moby Dick", "plancton", 5, 12);
        Perro perro = new Perro("Tobby", "carne", 7, 2, "caniche");
        Gato gato = new Gato("Tom", "pescado", 4, 4, "siamés");
        Caballo caballo = new Caballo("Rocinante", "hierba", 8, 12, "español", 2);

        System.out.println(animal);
        System.out.println(mamifero);
        System.out.println(perro);
        System.out.println(gato);
        System.out.println(caballo);
        caballo.setNombre("Rucio");
        caballo.setEjercicio(3);
        System.out.println(caballo);
    }
}

 

 

Deja una respuesta