donde una clase nueva se crea a partir de una
clase existente.
(habitualmente se denomina subclase) proviene
del hecho de que la subclase (la nueva clase
creada) contiene las atributos y métodos de la
clase primaria.
La gran ventaja es que uno ya no
debe comenzar desde cero cuando
desea especializar una clase
existente.
Tipos de herencia.
Herencia Simple:Indica que se pueden
definir nuevas clases solamente a partir de
una clase inicial
Herencia Multiple: Indica que se pueden definir nuevas clases a
partir de dos o más clases iniciales.
Herencia de implementación: La implementación
de los métodos es heredada. Puede
sobreescribirse en las clases derivadas.
Herencia de interfaz: Sólo se hereda la interfaz, no hay
implementación a nivel de clase base (interfaces en Java,
clases abstractas en C++)
Ventajas
Ayuda a los programadores a ahorrar código y tiempo, ya que la
clase padre ha sido implementada y verificada con anterioridad,
restando solo referenciar desde la clase derivada a la clase base
Desventajas
Si la jerarquía de clases es demasiado
compleja, el programador puede tener
problemas para comprender el
funcionamiento de un programa.