Herencia c++

Páginas: 6 (1353 palabras) Publicado: 11 de abril de 2013
Programación Orientada a Objetos
5 – Herencia en C++

-1-

Herencia en C++
Generalidades sobre el concepto de herencia ........................................................................................................1
Herencia Simple......................................................................................................................................................3Ventajas e inconvenientes de la derivación Privada y Protegida .......................................................................7
Constructores y Destructores en la herencia .........................................................................................................7
Conversiones entre las clases base yderivadas....................................................................................................11
Ambigüedades en la Herencia Simple .................................................................................................................16
Herencia Múltiple .................................................................................................................................................18
Ambigüedades en la HerenciaMúltiple...............................................................................................................22
Reglas de Dominio ................................................................................................................................................31Ejercicios...............................................................................................................................................................33

Generalidades sobre el concepto de herencia
Se entiende por herencia el proceso por el que un objeto puede tomar características de otro objeto1. La herencia
se puede usar de dos formas:
1. Cuando una clase escrita no llega a cubrir las necesidades que exige un determinado problema, se
puede retocar el código cambiando las características quese requieren, e ignorando el resto. Esto
permite una programación rápida. Esto es una forma de reutilización del código.
2. Se expresa un determinado problema como una jerarquía de clases, donde existe una clase base de la
que se derivan otras subclases. La interfaz de la clase base es común a todas las clases derivadas.
La herencia facilita la construcción de clases, una de las propiedades másinteresantes de la filosofía de la POO.
Cuando una clase hereda de otra clase se denomina clase derivada, y a veces clase hija, subclase o clase
descendiente. La clase de la cual hereda recibe el nombre de clase base, en ocasiones también se la conoce
como clase padre, superclase o clase ascendiente2
Cualquier clase puede ser una clase base. Es más una clase puede ser clase base para más deuna clase derivada.
A su vez, una clase derivada puede ser clase base de otras clases.
Se recuerda que los elementos de una clase se pueden dividir en tres grupos:
public: Accesibles desde cualquier función del programa.
private: Sólo pueden acceder a ellos funciones miembros de la clase, o funciones afines.
protected: Sólo pueden acceder a ellos las funciones miembro de la clase, de clasesderivadas o las
funciones afines.
La siguiente tabla recoge todas las posibles combinaciones de los accesos a las secciones de una clase:
Especificador de
Desde la propia
acceso
clase
Desde las clases derivadas Desde el exterior
Si
Si
Si
public
Si
Si
No
protected
Si
No
No
private

1

En C++ sólo se pueden heredar clases, no funciones ordinarias ni variables.
Los términos mástradicionales en C++ son clase base y clase derivada, y son los que se van a utilizar en este
documento mayoritariamente.
2

Ingeniería Técnica en Informática de Sistemas (3er curso)
Departamento de Informática y Automática – Universidad de Salamanca

(versión Febrero 2003)

Programación Orientada a Objetos
5 – Herencia en C++

-2-

Cuando se hereda, las clases derivadas reciben...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Herencia en C#
  • Herencia en c++
  • Herencia y polimorfismo en c++
  • Ejercicios Herencia C#
  • Ejemplo herencia c++
  • C Ncer Herencia Y Ambiente
  • Herencia Simple c++
  • Herencia en c#

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS