Saltar la navegación

Herencia

A partir de la clase Person, vamos a definir la subclase Professor.

Para expresar que una clase hereda de otra clase, utilizamos la palabra clave extends.

Debido a que la clase Professor agrega una nueva propiedad teaches, ésta se declara en el cuerpo de la clase.

Cuando creamos un nuevo Professor, queremos establecer el nombre de teaches que enseña, para esto definimos un constructor que recibe name y teaches como argumentos. Lo primero que hace el constructor es utilizar super() para llamar al constructor de la superclase, mientras le pasa el parámetro name. El constructor de la superclase se encarga de establecer el valor de la propiedad name. Enseguida, el constructor de la clase Professor establece el valor de la propiedad teaches.

Nota:

Si una subclase debe realizar algún tipo de inicialización, es obligatorio que esta llame al constructor de la superclase utilizando super() con los parámetros que el constructor de la superclase espera.

Podemos observar que hemos sobrescrito el método introduceSelf() de la superclase y a su vez agregamos un nuevo método grade() para calificar las tareas de los alumnos (Nuestro profesor no es muy bueno que digamos, solo asigna calificaciones aleatorias a los ensayos).

Con esta declaración ahora podemos crear y usar profesores: