Herencia y polimorfismo en c++

Solo disponible en BuenasTareas
  • Páginas : 4 (937 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de febrero de 2011
Leer documento completo
Vista previa del texto
HERENCIA

Necesidad de la herencia

La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedado, en inglés, una relación del tipo is a) y que una rueda es parte de un coche (pertenencia o una relación del tipo has a). Antes de la llegada de la herencia, en C ya se había resuelto el problema dela pertenencia mediante las estructuras, que podían ser todo lo complejas que se quisiera. Con la herencia, como se va a ver en este capítulo, se consigue clasificar los tipos de datos (abstracciones)por variedad, acercando así un paso más la programación al modo de razonar humano.

Definición de herencia

La herencia, entendida como una característica de la programación orientada a objetos ymás concretamente del C++, permite definir una clase modificando una o más clases ya existentes.

Estas modificaciones consisten habitualmente en añadir nuevos miembros (variables o funciones), ala clase que se está definiendo, aunque también se puede redefinir variables o funciones miembro ya existentes.

La clase de la que se parte en este proceso recibe el nombre de clase base, y la nuevaclase que se obtiene se denomina clase derivada. Ésta a su vez puede ser clase base en un nuevo proceso de derivación, iniciando de esta manera una jerarquía de clases. De ordinario las clases basesuelen ser más generales que las clases derivadas. Esto es así porque a las clases derivadas se les suelen ir añadiendo características, en definitiva variables y funciones que diferencian concretan yparticularizan.

En algunos casos una clase no tiene otra utilidad que la de ser clase base para otras clases que se deriven de ella. A este tipo de clases base, de las que no se declara ningúnobjeto, se les denomina clases base abstractas (ABC, Abstract Base Class) y su función es la de agrupar miembros comunes de otras clases que se derivarán de ellas. Por ejemplo, se puede definir la clase...
tracking img