Saltar la navegación

3.1.- Sintaxis de la herencia.

En Java la herencia se indica mediante la palabra reservada extends:

[modificador] class ClasePadre {

     // Cuerpo de la clase

     …

}

[modificador] class ClaseHija extends ClasePadre {

// Cuerpo de la clase

…

}

Imagina que tienes una clase Persona que contiene atributos como nombre, apellidos y fecha de nacimiento:

public class Persona {

     String nombre;

     String apellidos;

     GregorianCalendar fechaNacim;

     …

}


Esquema que muestra los atributos de la clase Persona: nombre, apellidos y fecha de nacimiento.
Ministerio de Educación y FP (CC BY-NC)

Es posible que, más adelante, necesites una clase Alumno que compartirá esos atributos (dado que todo alumno es una persona, pero con algunas características específicas que lo especializan). En tal caso tendrías la posibilidad de crear una clase Alumno que repitiera todos esos atributos o bien heredar de la clase Persona:

 

public class Alumno extends Persona {

     String grupo;

     double notaMedia; 

     …

}
Esquema que muestra los atributos de la clase Alumno.
Ministerio de Educación y FP (CC BY-NC)

A partir de ahora, un objeto de la clase Alumno contendrá los atributos grupo y notaMedia (propios de la clase Alumno), pero también nombre, apellidos y fechaNacim (propios de su clase base Persona y que por tanto ha heredado).

Autoevaluación

Pregunta 1

En Java la herencia se indica mediante la palabra reservada inherits. ¿Verdadero o Falso?

Ejercicio resuelto

Imagina que también necesitas una clase Profesor, que contará con atributos como nombre, apellidos, fecha de nacimiento, salario y especialidad. ¿Cómo crearías esa nueva clase y qué atributos le añadirías?