En java las clases pueden tener clases derivadas o dicho de otra manera una clase puede extender a otra.
La clase derivada o hija HEREDA todas las propiedades de la clase madre.
package com.trifulcas.herencia;
public class Animal {
private String nombre;
private int patas;
/**
* @return the nombre
*/
public String getNombre() {
return nombre;
}
/**
* @param nombre the nombre to set
*/
public void setNombre(String nombre) {
this.nombre = nombre;
}
/**
* @return the patas
*/
public int getPatas() {
return patas;
}
/**
* @param patas the patas to set
*/
public void setPatas(int patas) {
this.patas = patas;
}
public void hacerRuido() {
System.out.println("Grrr");
}
}
package com.trifulcas.herencia;
public class Mamifero extends Animal {
private int mesesLactancia;
/**
* @return the mesesLactancia
*/
public int getMesesLactancia() {
return mesesLactancia;
}
/**
* @param mesesLactancia the mesesLactancia to set
*/
public void setMesesLactancia(int mesesLactancia) {
this.mesesLactancia = mesesLactancia;
}
}
package com.trifulcas.herencia;
public class Insecto extends Animal {
}
package com.trifulcas.herencia;
public class Perro extends Mamifero {
private String raza;
/**
* @return the raza
*/
public String getRaza() {
return raza;
}
/**
* @param raza the raza to set
*/
public void setRaza(String raza) {
this.raza = raza;
}
}
Animal prueba=new Animal();
prueba.setNombre("Bicho");
prueba.setPatas(18);
// Mamifero extiende la clase animal
// Y por lo tanto HEREDA todas sus propiedades y métodos
Perro michucho=new Perro();
// toString lo hereda de Object
System.out.println(michucho.toString());
// setNombre lo hereda de animal
michucho.setNombre("firulai");
// setMeseslactancia de mamifero
michucho.setMesesLactancia(8);
// setRaza de Perro
michucho.setRaza("Bulldog");
/*
* ANIMAL
*
* MAMIfERO
*
* PERRO Hereda todas las propiedades de mamifero y animal
*
*/