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.