Sie sind auf Seite 1von 4

DIAGRAMA DE CLASES

RELACION COMPOSICION
Composicin es una forma fuerte de agregacin donde la vida de la clase
contenida debe coincidir con la vida de la clase contenedor. Los componentes
constituyen una parte del objeto compuesto. De esta forma, los componentes no
pueden ser compartidos por varios objetos compuestos. La supresin del objeto
compuesto conlleva la supresin de los componentes.
El smbolo de composicin es un diamante de color negro colocado en el extremo
en el que est la clase que representa el todo (Compuesto)
Veamos un ejemplo de composicin:

Tenemos una clase Empresa.


Un objeto Empresa est a su vez compuesto por uno o varios objetos del
tipo empleado.
El tiempo de vida de los objetos Empleado depende del tiempo de vida de
Empresa, ya que si no existe una Empresa no pueden existir sus
empleados.

DIFERENCIAS ENTRE COMPOSICIN Y AGREGACIN


La siguiente tabla intenta resumir algunas diferencias entre agregacin y
composicin.

CONCLUYENDO
En lneas generales, como hemos visto, se podra decir que la diferencia entre
agregacin y composicin es conceptual, no se diferencia por cdigo, o al menos,
en el mayor de los casos y en la mayora de los lenguajes de programacin (como
Java o PHP). De todas maneras, en el caso de la composicin, si quisiramos ser
ms estrictos con los diagramas de clases modelados con UML, deberamos
destruir de alguna manera el objeto componente (empleado) una vez que se
desasociaran del objeto compuesto (empresa).
En definitiva, UML nos permite la posibilidad de diferenciar este tipo de
asociaciones con el fin de que, aquella persona que le interese, pueda estipular de
una u otra manera que se trata de una composicin o una agregacin, aunque en
trminos de implementacin no se diferencie tan apenas su uso ni tenga tanta
relevancia. UML propone muchas posibilidades y debe ser el analista y/o
desarrollador quien decida y haga un uso correcto del mismo, con el fin de
visualizar, especificar, construir y documentar adecuadamente los modelos de un
sistema software.

Composicin: Es un tipo de asociacin, pero podemos decir que son


agregaciones fuertes. La diferencia con las agregaciones es que no tiene sentido
que el objeto contenedor siga existiendo si no existen los objetos contenidos.

Esta imagen representa la diferencia entre una agregacin y una composicin. Un


vehculo seguir existiendo aunque no existan sus ruedas (otra cosa es que pueda
rodar). Sin embargo un libro no existir si no existen sus captulos.

La composicin es una forma fuerte de agregacin. Se diferencian en:

En la composicin tanto el todo como las partes tienen el mismo ciclo de


vida.
Un objeto puede pertenecer solamente a una composicin.

Una composicin es una agregacin que indica fuerte propiedad de las partes. En
una composicin, las partes viven y mueren con el propietario porque no tienen
papel en el sistema de software independiente del propietario.

Otro elemento comn de un diagrama de clase es una nota, que se representa


mediante una caja con una esquina doblada y se conecta a otros conos mediante
una lnea punteada. Puede tener contenido arbitrario (texto y grficos) y es similar
a comentarios en lenguajes de programacin. Puede contener comentarios acerca
del papel de una clase o restricciones que todos los objetos de dicha clase deban
satisfacer. Si los contenidos son una restriccin, se encierran entre llaves.

Das könnte Ihnen auch gefallen