Ejemplo de herencia
Ejemplo aplicando Herencia en Java

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
Lo siento, debes estar conectado para publicar un comentario.