Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

Herencia en Java

La herencia es una caracteristica de los lenguajes orientados a objetos la cual nos da la posibilidad de reutilizar codigo, esto es definir una clase a partir de otra clase comun. Supongamos que tenemos la necesidad de registrar caracteristicas y funciones de Empleados y Clientes en un programa cualquiera. Nos damos cuenta que tanto empleados como clientes comparten muchas caracteristicas en comun, nombre direccion edad etc, y seria tonto definirlas en ambas clases, por lo que creamos una clase que comparta sus caracteristicas comunes (variables y metodos) y luego a partir de esa clase creamos las demas, las clases que heredan posteriormente pueden incluir sus propias caracteristicas que la diferencian de las demas, ESTO ES HERENCIA.

Para que una clase herede de otra en java se utiliza la palabra reservada extends. La clase de la cual vamos a heredar no necesita especificar nada para lograrlo, simplemente en la clase en la cual heredaremos especificamos con la palabra extends y luego el nombre de la clase de la cual heredaremos. En esta clase llamaremos al metodo super, el cual nos permite registrar los valores en la superclase a traves de su constructor.

La clase de la cual heredan se le llama superclase y la clase que hereda es conocida como subclase, si B hereda de A y C hereda de B, entonces B y C son sublases de la superclase A. B seria descendiente directo de A y C seria descendiente indirecto de A. En java se trabaja lo que se conoce como herencia simple, la cual nos permite unicamente heredar de una sola clase, a diferencia de la herencia multiple que nos permite heredar de varias clases como en C++. Algunas tecnicas permite simular la herencia multiple en java, aunque en mi opinion no se deberia de implementar.

En el manejo de los modificadores de acceso cabe mencionar que:

  • private: Visible unicamente en la clase que se define
  • Sin Modificador: Visible a todas las clases del paquete
  • protected: visible a las subclases y a las clases del paquete
  • public: Visible a todas las clases.

Super se utiliza para llamar a variables y metodos de la clase padre.

Veamos un ejemplo simple de lo mas basico que explicamos aqui para comprender lo que es la herencia en java.

Clase Persona:

Clase Empleado:

Clase Cliente:

Clase Principal:

Resultado:
herencia en java 1

Leer entrada anterior
Lo mejor de mi RSS del 9 al 15 de septiembre de 2013

Y mañana empieza hasta el curso en secundaria y bachillerato en gran parte de España, ¡feliz semana a todos! Y...

Cerrar