Agregación y Composición

Estas relaciones se denominan como parte-todo, en la cual tenemos una clase que es una partícula de otra clase.

La frase para comprobar una relación de este tipo es A es una parte de B.

Asociación

agregacion
Agregación: A es parte de B

Código

En este caso el objeto no es creado dentro del objeto compuesto, es adherido mediante algún método que lo permita.

https://gist.github.com/jeavila/7df5867628e7604ccd552c129cd89dac

Composición

composicion
Composición: A es parte de B

Código

En el caso de la composición, es necesario crear dentro del objeto compuesto los objetos que serán parte del mismo.

https://gist.github.com/jeavila/97d427fed919945ffc5fac1d12cb1a24

Diferencia entre Agregación y Composición

  • Las relaciones en una composición son requeridas, en la agregación son opcionales.
  • En la composición una clase partícula no puede ser compartida por otras clases compuestas, en la agregación esto es posible.
  • La relación de vida de la clase partícula y la clase contenedora, es muy fuerte, de hecho es la relación más fuerte; tanto así que si un objeto de la clase contenedora es destruido la clase partícula también lo será. Esto en la agregación no ocurre.

Deja una respuesta