Pregunta

¿Cuál es la diferencia entre composición y agregación? ¿Alguien puede darme una muestra de este OOAD?

¿Fue útil?

Solución

Encontrado aquí

" Tanto la agregación como la composición son tipos especiales de asociaciones. La agregación se utiliza para representar la propiedad o una relación total / parcial, y la composición se utiliza para representar una forma aún más fuerte de propiedad. Con la composición, obtenemos coincidencia de por vida de parte con el conjunto. El objeto compuesto es el único responsable de la disposición de sus partes en términos de creación y destrucción.

Además, la multiplicidad del extremo agregado no puede exceder de uno; es decir, es no compartido. Un objeto puede ser parte de un solo compuesto a la vez. Si el compuesto se destruye, debe destruir todas sus partes o, de lo contrario, responsabilizar a otro objeto. Un objeto compuesto puede diseñarse con el conocimiento de que ningún otro objeto destruirá sus partes.

La composición se puede usar para modelar la agregación por valor, que es semánticamente equivalente a un atributo. De hecho, la composición originalmente se denominaba agregación por valor en un borrador anterior de UML, y la agregación "normal" se consideraba como agregación por referencia. Las definiciones han cambiado ligeramente, pero las ideas generales todavía se aplican. La distinción entre agregación y composición es más un concepto de diseño y, por lo general, no es relevante durante el análisis. & Quot;  John Moore

Otros consejos

Considere a un estudiante, el cerebro del estudiante y la escuela a la que asiste.

El cerebro es parte de el estudiante. Si el estudiante es destruido, también lo es el cerebro. Esta es composición .

El estudiante tiene una escuela . El alumno sobrevive a la destrucción del colegio, y viceversa. Esto es agregación .

Respuesta relevante a su pregunta aquí: http://ootips.org/uml-hasa.html

En resumen: tanto la composición como la agregación son relaciones acíclicas de has-a que consisten en una parte y un entero . La diferencia es que con la composición, el entero es responsable de crear (y eliminar) sus partes .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top