Herencia

Solo disponible en BuenasTareas
  • Páginas : 5 (1087 palabras )
  • Descarga(s) : 0
  • Publicado : 9 de febrero de 2012
Leer documento completo
Vista previa del texto
PRESENTADO POR: Edith González Lee

PROGRAMACIÓN ORIENTADA A OBJETOS

Herencia
• La reusabilidad es también otra característica importante de la POO. • Siempre resultaría interesante poder reutilizar algo que ya existe en lugar de intentar crear lo mismo una y otra vez. • Por ejemplo, la reutilización de una clase que ya ha sido probada, depurada y usada muchas veces puede ahorrarnos elesfuerzo de desarrollar y probar lo mismo otra vez.

PROGRAMACIÓN ORIENTADA A OBJETOS

Herencia
• Afortunadamente, C++ soporta ampliamente el concepto de reusabilidad. Las clases C++ pueden ser reutilizadas de varios modos. • Una vez escrita y probada una clase, puede ser adaptada por otros programadores para adaptarla a sus requerimientos. Esto se hace básicamente creando nuevas clases,reutilizando las propiedades de las ya existentes.

PROGRAMACIÓN ORIENTADA A OBJETOS

Herencia
• El mecanismo de derivar una nueva clase a partir de una ya creada se denomina herencia (o derivación). • La clase existente se denomina clase base, y la nueva se denomina clase derivada o subclase. • La clase derivada hereda algunas o todas las características de la clase base. • Una clase tambiénpuede heredar propiedades de más de una clase, o de más de un nivel.

PROGRAMACIÓN ORIENTADA A OBJETOS

Herencia
• Una clase derivada con una única clase base utiliza herencia simple, y una con varias clases base utiliza herencia múltiple. • Por otra parte, las características de una clase pueden ser heredadas por más de una clase. Este proceso se denomina herencia jerárquica. • El mecanismo dederivar una clase a partir de otra "clase derivada" se denomina herencia multinivel.

PROGRAMACIÓN ORIENTADA A OBJETOS

Herencia
• La siguiente figura muestra una forma de herencia que pueden usarse para escribir programas extensibles.

• La dirección de la flecha indica la dirección de la herencia (algunos autores muestran la flecha en sentido opuesto, significando "hereda de").PROGRAMACIÓN ORIENTADA A OBJETOS

Herencia

PROGRAMACIÓN ORIENTADA A OBJETOS

Definición de clases derivadas
• Una clase derivada puede ser definida especificando su relación con la clase base además de sus propios detalles. El formato general de definición de una clase derivada es:

PROGRAMACIÓN ORIENTADA A OBJETOS

Definición de clases derivadas
• Los dos puntos indican quenombre-clasederivada se deriva de nombre-clase-base, modo-visibilidad es opcional, y si está presente, puede ser private o public. • El modo de visibilidad predefinido es private. El modo de visibilidad especifica si las características de la clase base se derivan privadamente o públicamente.
PROGRAMACIÓN ORIENTADA A OBJETOS

Definición de clases derivadas Ejemplos

PROGRAMACIÓN ORIENTADA A OBJETOS Definición de clases derivadas
• Cuando un clase base es heredada privadamente por una clase derivada, los "miembros públicos" de la clase base se convierten en "miembros privados" de la clase derivada, y por tanto sólo tienen acceso a los miembros públicos de la clase base las funciones miembro de la clase derivada.

PROGRAMACIÓN ORIENTADA A OBJETOS

Definición de clases derivadas
• Cuandoun clase base es heredada privadamente por una clase derivada, los "miembros públicos" de la clase base se convierten en "miembros privados" de la clase derivada, y por tanto sólo tienen acceso a los miembros públicos de la clase base las funciones miembro de la clase derivada. • Recuerde que un miembro público de una clase puede ser accedido desde sus propios objetos usando el operador punto. Elresultado es que ningún miembro de la clase base será accesible desde los objetos de la clase derivada.
PROGRAMACIÓN ORIENTADA A OBJETOS

Definición de clases derivadas
• Por otra parte, cuando la clase base es heredada públicamente, los "miembros públicos" de la clase base se convierten en "miembros públicos" de la clase derivada, y por tanto se puede acceder a los mismos desde los objetos...
tracking img