Elsa, miembro de nuestro equipo de trabajo, nos hizo el favor de escribir este tutorial ya que controla perfectamente este tema.
Solución:
La diferencia se puede ver en los dos constructores:
-
Dependencia: Los
Address
el objeto viene de fuera de, está asignado en otro lugar. Esto significa que elAddress
yEmployee
los objetos existen por separado, y sólo depender el uno del otro. -
Composición: Aquí se ve que una nueva
Engine
es creado en el interiorCar
. losEngine
El objeto es parte delCar
. Esto significa que unCar
es compuesto de unEngine
.
Simplemente pon :
Gracias a Marko Topolnik
para esto…
-
Dependency
Ocurre cuando un objeto “depende” de otro. Puede ocurrir con o sin una relación entre los 2 objetos. En realidad, es posible que un objeto ni siquiera sepa que existe otro, pero pueden ser dependientes. Ejemplo: El problema productor-consumidor. El productor no necesita saber que el consumidor existe, pero tiene que esperar() y notificar(). Entonces, “NO”, la dependencia no es un subconjunto de la asociación. -
Composition
: Es un tipo de asociación en la que el objeto “hijo” no puede existir sin la clase padre. es decir, si el objeto secundario existe, DEBE ESTAR EN EL Objeto principal y en ningún otro lugar.EG: Un automóvil (padre) tiene sistema de inyección de combustible (hijo). Ahora bien, no tiene sentido tener un sistema de inyección de combustible fuera de un automóvil (no servirá de nada). es decir, el sistema de inyección de combustible no puede existir sin el automóvil.
-
Aggregation
: Aquí, el objeto secundario puede existir fuera del objeto principal. Un coche tiene un conductor. El conductor PUEDE existir fuera del automóvil.