Dr. Omar Zárate Navarro

Tecnologías de la Información

Clases > poo > Recursos

PROGRAMACIÓN ORIENTADA A OBJETOS

EJEMPLO HERENCIA O GENERALIZACIÓN

Una de las formas más comunes de reutilizar una clase es a través de la herencia. La herencia nos ayuda a organizar clases relacionadas en jerarquías, o niveles ordenados de funcionalidad. Para establecer una jerarquía, empezamos definiendo una clase que contiene métodos y atributos que son comunes a todas las clases de la jerarquía. A continuación, se definen nuevas clases en el siguiente nivel inferior de la jerarquía, que heredan el comportamiento y los campos de la clase original.

En las nuevas clases, definimos campos adicionales y métodos más específicos. La clase original se denomina superclase, y las nuevas clases que heredan de la superclase se denominan subclases. Algunos desarrolladores de programación orientada a objetos denominan superclase a la clase base y subclase a la clase derivada.

Como en la vida, una superclase (padre) puede tener múltiples subclases (hijos), y cada subclase puede ser superclase (padre) de otras subclases (hijos) y así sucesivamente. Así, una clase puede ser a la vez subclase (hijo) y superclase (pariente). Sin embargo, a diferencia de la vida, las subclases de Java heredan directamente de una sola superclase.

Una subclase puede añadir campos y métodos, algunos de los cuales pueden anular, o ocultar un campo o método heredado de una superclase.

Diagrama Ejemplo

Código JAVA de la clase Persona (Persona.java)

Código JAVA de la clase Usuario (Usuario.java) que hereda de Persona con la palabra reservada extends

Código JAVA de la clase Empleado (Empleado.java) que hereda de Usuario con la palabra reservada extends

Código JAVA de la clase Profesor (Profesor.java) que hereda de Empleado con la palabra reservada extends

Código JAVA de la clase TestHerencia (testHerencia.java) que contiene el método static void main(String[] args) donde instancia la clase Profesor


 


Dr. Omar Zárate Navarro
Universidad Tecnológica de Jalisco
PTC Tecnologías de la Información
Email: ozarate@utj.edu.mx