Herencia

Páginas: 11 (2624 palabras) Publicado: 2 de agosto de 2015
Herencia
La herencia es una propiedad esencial de la Programación Orientada a Objetos que consiste en la
creación de nuevas clases a partir de otras ya existentes. Permite la definición de un nuevo objeto a
partir de otros, agregando las diferencias entre ellos. Permite heredar a las clases características y
conductas de una o varias clases denominadas base. Las clases que heredan de clases basese
denominan derivadas, estas a su vez pueden ser clases bases para otras clases derivadas. Se
establece así una clasificación jerárquica, similar a la existente en Biología con los animales y las
plantas.
La herencia ofrece una ventaja importante, permite la reutilización del código. Una vez que una
clase ha sido depurada y probada, el código fuente de dicha clase no necesita modificarse. Sufuncionalidad se puede cambiar derivando una nueva clase que herede la funcionalidad de la clase
base y le añada otros comportamientos. Reutilizando el código existente, el programador ahorra
tiempo y dinero, ya que solamente tiene que verificar la nueva conducta que proporciona la clase
derivada.

 Declaración de la herencia


class :

1

Por ejemplo, según el diagrama anterior la clase Docente hereda de Persona (herencia simple):
class Docente: public Persona {
//Datos miembros o atributos de la clase Docente
//Funciones miembros o métodos de la clase Docente
La clase Preparador hereda de Docente y Estudiante (herencia múltiple):
class Preparador: public Docente, Estudiante {
//Datos miembros o atributos de la clasePreparador
//Funciones miembros o métodos de la clase Preparador
}
Cuando se hereda, realmente se expresa "Esta nueva clase (derivada) es como esta otra vieja clase
(base)". Se comienza el código proporcionando el nombre de la clase, como se realiza normalmente,
pero antes de abrir la llave del cuerpo de la clase, se colocan dos puntos y el nombre de la clase base
(o de las clases bases, separadas porcomas, para herencia múltiple). Una vez realizado,
automáticamente se consiguen todos los miembros y las funciones de la clase base.

 Tipos de herencia
Dependiendo del número de clases y de cómo se relacionen, la herencia puede ser:
a) Simple.
b) Múltiple.
c) De niveles múltiples.
Con independencia del tipo de herencia, una clase derivada no puede acceder a variables y
funciones privadas de suclase base. Para ocultar los detalles de la clase base y de clases y funciones
externas a la jerarquía de clases, una clase base utiliza normalmente elementos protegidos en lugar
de elementos privados. Suponiendo herencia pública, los elementos protegidos son accesibles a las
funciones miembro de todas las clases derivadas.

2

Herencia Simple.

Es cuando una clase derivada hereda de una únicaclase, es decir una clase derivada sólo tiene un
padre o ascendiente. Por su parte una clase base puede tener tantos descendientes como sean
necesarios sin limitación alguna. Es un sistema jerárquico en forma arborescente, similar a la
estructura de directorios de algunos sistemas operativos

La forma general de la herencia en C++ es:
class : [] {
// Cuerpo de la declaración de la clase
};
El nombre_clase_heredada se refiere a una clase base declarada previamente.

Cuando sólo se tiene una clase base de la cual hereda la clase derivada, se dice que hay herencia
simple (Figura 1.a). Sin embargo, la herencia simple no excluye la posibilidad de que de una misma
clase base se pueda derivar más de una subclase o clase derivada (Figura 1.b).Cuando se necesita representar un concepto general y a partir de éste, conceptos más específicos,
resulta conveniente organizar la información usando herencia. Esto permite compartir atributos y
métodos ya definidos, evita la duplicidad y, por otra parte, proporciona mayor claridad en la

3

representación que se haga de la información. Es decir, se logra un mejor diseño de la solución del...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia
  • la herencia
  • la herencia
  • Herencia
  • Herencia
  • Herencia
  • Herencias
  • la herencia

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS