HERENCIA:Es el proceso mediante el cual un objeto de una clase adquiere propiedades definidas en
otra clase que lo preceda en una jerarquía de clasificaciones. Permite la definición de un nuevo
objeto a partir de otros, agregando las diferencias entre ellos.
COMPOSICIÓN: Es una relación que representa a objetos compuestos por otros objetos. El objeto en el
nivel superior de la jerarquía es el todo y los que están en los niveles inferiores son sus partes o
componentes. Un componente es parte esencial de una entidad. La relación es fuerte al punto que si
el componente es eliminado o desaparece, la clase mayor (el todo) deja de existir.
Declaración de la Composición: La Composición en C++ no es más que considerar la posibilidad de
que los atributos o datos miembros de una clase sean objetos, es decir una clase puede tener como
datos miembros a objetos de otras clases.
La herencia es un tipo de jerarquía de clases en la que cada subclase (clase hija, clase derivada)
pueden acceder tanto a los atributos como a los métodos públicos y protegidos de la superclase
(clase padre, clase base).
La herencia se clasifica según el modo de acceso a los miembros de la clase base: • Pública (public):
los modos de acceso a los miembros de la clase base se quedan igual en la clase derivada. • Protegida
(protected): los miembros “public” de la clase base pasan a ser “protected”. El resto se queda igual. •
Privada (private): todos los miembros de la clase base pasan a ser “private” en la derivada.
La herencia también puede ser simple (cada clase tiene sólo una superclase) o múltiple (cada clase
puede tener asociada varias superclases).
Las dos técnicas fundamentales para construir nuevas clases a partir de otras ya existentes son la
herencia y la composición. En el diseño y programación orientada a objeto se debe decidir cual de
estos dos tipos usar en las relaciones entre las clases que modelas las entidades del mundo real.