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
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
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.