Herencia

La
idea de la herencia es permitir la creación de nuevas
clases basadas en clases existentes.
Se obtienen características (métodos y atributos) similares a
los ya existentes.
Es la relación entre una clase general y otra clase más específica. Es
un mecanismo que nos permite crear clases derivadas a partir de clase base, nos
permite compartir automáticamente métodos y datos entre clases subclases y objetos.
Por ejemplo:
Si declaramos una clase párrafo derivada de un
clase texto todos los métodos y variables asociadas con la clase texto son
automáticamente heredados por la subclase párrafo.
La relación padre-hijo entre
clases puede representarse desde un punto de vista jerárquico, denominado vista
de clases en árbol.
La vista en árbol comienza con una clase general llamada
superclase (a la que algunas veces se hace referencia como clase primaria,
clase padre, clase principal, o clase madre; existen muchas metáforas
genealógicas).
Las clases derivadas (clase secundaria o subclase) se vuelven
cada vez más especializadas a medida que van descendiendo en el árbol. Por lo
tanto, se suele hacer referencia a la relación que vincula una clase secundaria
con una clase primaria mediante la frase es una x o y.
La vista en árbol comienza con una clase general llamada
superclase (a la que algunas veces se hace referencia como clase primaria,
clase padre, clase principal, o clase madre; existen muchas metáforas
genealógicas).
Las clases derivadas (clase secundaria o subclase) se vuelven
cada vez más especializadas a medida que van descendiendo en el árbol. Por lo
tanto, se suele hacer referencia a la relación que vincula una clase secundaria
con una clase primaria mediante la frase es una x o y.
Tipos de Herencia:
- Herencia Simple: Indica que se pueden definir nuevas clases
solamente a partir de una clase inicial
- Herencia Múltiple: 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 sobrescribirse 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++).

Comentarios
Publicar un comentario