Implantación de Aplicaciones Web

UT3. Programación orientada a objetos. Programación Java

9. Herencia en Java

La herencia es el mecanismo que sirve de soporte para registrar y utilizar las relaciones conceptuales existentes entre las clases. Posibilita la definición de una clase a partir de otra organizando las clases en una estructura jerárquica formando jerarquias de clases.

La idea de la herencia es permitir la creación de nuevas clases basadas en clases existentes. Cuando heredamos de una clase existente, heredamos métodos y campos y agregamos nuevos campos y métodos para cumplir con la nueva situación.

La clase Hija hereda de la clase Padre sus atributos y métodos. A la vez, la clase Hija puede incluir adaptaciones como nuevos atributos, métodos y redefinirlos. Lo mismo pasa con las clases "Nieta" que herendan a su vez los métodos y atributos de la clase Hija.

Para indicar que una clase deriva de otra, heredando sus métodos y atributos, se usa el término extends.

public class Hija1 extends Padre {
int c;
	Hija1 () {
		a=0; // Herencia de Padre
		b=0; // Herencia de Padre
		c=0; // Nuevo atributo
		}
}
			

Para controlar el acceso desde otras clases y para controlar la herencia por las subclases, los atributos y métodos de las clases tienen tres modificadores para controlar el acceso:

  • Public: Los atributos y métodos declarados public son accesibles para cualquier clase y son heredados por las subclases.
  • Private: Los atributos y métodos declarados private sólo son accesibles para la propia clase.
  • Protected: Los atributos y métodos declarados protected son sólo accesibles para la propia clase y para las subclases de esta.

Recursos

http://www.arrakis.es/~abelp/ApuntesJava/Herencia.htm

http://dis.um.es/~bmoros/privado/apuntes/Curso09-10/POO3-Java-0910.pdf

http://profesores.elo.utfsm.cl/~agv/elo330/2s04/lectures/JAVA/Herencia_en_Java.html