3. HERENCIA
• Es la capacidad para crear nuevas clases
(descendientes) que se construyen sobre otras
existentes, permitiendo que èstas les transmitan sus
propiedades
• En POO la reutilizaciòn de còdigo se efectùa creando
una subclase que constituye una restricciòn o
extensiòn de la clase base, de la cual hereda sus
propiedades.
7. • Como vemos, la Clase Padre es Vehículo, la cual
tiene como hijas a las clases Acuático y Aéreo,
estas a su vez son:
clases Padre de Barco, Velero, Avión y Helicóptero
que a la vez son nietas de Vehículo...Simple o ¿no?
• Con esto ya tenemos una jerarquía de herencia
definida, esto quiere decir que por ejemplo la
clase Avión puede usar el método volar() de la
clase Aéreo, así como también usar el
método transportar() de la clase Vehículo, pues se
encuentra en el mismo árbol de herencia, sin
embargo no puede usar el método navegar() de la
clase Acuático, ya que no es de tipo Acuático.
9. TIPOS DE HERENCIA
Herencia Simple: Sólo puede
tener un ascendiente, es decir
una subclase puede heredar
datos y métodos de una única
clase así como añadir o quitar
comportamientos de la clase
base.
Herencia Múltiple: Es la
prioridad de una clase de poder
tener más de un ascendiente
inmediato, o lo que es igual,
adquirir datos y métodos de
más de una clase.
JAVA NO SOPORTA LA HERENCIA MÚLTIPLE
10. CONCEPTOS DE HERENCIA EN JAVA
• la clase existente se denomina superclase o padre
• La clase que hereda se denomina subclase, hija
extendida o derivada
• En java todas las clases utilizan herencia, ya que
todas las clases se derivan de una clase raiz
denominada Object
11. DEFINICION DE UNA SUBCLASE
-Necesita la palabra clave extends
• La sintaxis :
public class nombre de la clase extends clase base
Ejemplo
public class Estudiante de la clase extends Persona
12. SUPERCLASES Y SUBCLASES
Una clase extendida hereda
todos los miembros de sus
superclases, excepto los
constructores y finalize.
La subclase puede utilizar
estos miembros, puede
ocultar las variables miembro
o anular (redefinir) los
métodos.
La palabra reservada this,
permite hacer referencia a la
propia clase, mientras que la
super, se utiliza para
referenciar a la superclase y
poder llamar a métodos de la
misma.