Herencia primera parte: Un ejemplo

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
		 * 
		 */

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos