y
Agregacin
Existen
Composicin
De
AGREGACIN
EJEMPLO DE AGREGACIN
Si la entidad motor forma parte de carro, y corazn forma parte de la persona, entonces la flecha apunta a la
clase carro y persona respectivamente y el diamante va pegado a estas clases .
La diferencia entre la relacin carro-ruedas y persona-corazn, es que en el primer caso se llama
agregacin por ser una relacin en donde la existencia del carro no depende de las ruedas, mientras que
en l segn caso una persona no existe sin su corazn. Por tanto la relacin de la persona con su
corazn es de composicin.
Tanto en la agregacin como en la composicin ocurre que varias clases forman parte de una clase
contenedora.
La diferencia entre las dos formas de agregacin es que, en la composicin, la clase todo es la propietaria
exclusiva de las clases parte; mientras que en la agregacin las clases parte pueden pertenecer a otras
clases adems de la clase todo
Conclusiones
Cuando un programa tiene una gran cantidad de clases se utiliza la agregacin, la cual nos permite
organizar las clases de forma ordenada.
Existen dos formas primarias de agregacin, la agregacin propiamente dicha (agregacin dbil) y la
composicin (agregacin fuerte).
En una jerarqua de composicin, as como en una jerarqua de agregacin, la relacin entre una clase
contenedora y una de sus clases parte se denomina relacin tiene-un.
En la composicin las clases parte pueden transferirse de una clase todo a otra; pero siempre
pertenecern a una sola clase todo.
En la agregacin (dbil) la clase contenida presenta independencia con respecto a la clase todo; es
decir que la clase contenida puede seguir existiendo aunque la clase todo sea eliminada.
Siempre que dos clases tienen una relacin de agregacin (dbil), es necesario guardar el objeto de la
clase contenida en una variable de referencia en la clase contenedora, y tambin debe guardarse
fuera de la clase contenedora. De esta forma, el objeto puede aadirse a otra agregacin y tener dos
propietarios distintos.
La agregacin con respecto a su modelamiento en UML se representa mediante una lnea que parte
de la clase contenida y termina en forma de rombo blanco en la clase contenedora.
La composicin con respecto a su modelamiento en UML se representa mediante una lnea que parte
de la clase contenida y termina en forma de rombo negro en la clase contenedora.