Ya no tienes que investigar más en internet porque llegaste al lugar necesario, poseemos la solución que necesitas pero sin liarte.
Solución:
Tenga en cuenta que existen diferentes interpretaciones de las definiciones de “asociación”. Mis puntos de vista a continuación se basan en gran medida en lo que leería en los libros y guías de estudio de Oracle Certification.
Asociación temporal
un uso dentro de un método, su firma o como valor de retorno. No es realmente una referencia a un objeto específico.
Ejemplo: Aparco mi coche en un garaje.
Asociación de composición
Un llamado “Relación fuerte“: La creación de instancias del objeto vinculado a menudo está codificada dentro del constructor del objeto. No se puede establecer desde fuera del objeto. (Composición no poder ser una relación de muchos a muchos).
Ejemplo: Una Casa está compuesta de Piedras.
Asociación directa
Esto es un “relaciones DÉBILES“. Los objetos pueden vivir independientes y generalmente hay setters u otras formas de inyectar los objetos dependientes.
Ejemplo: Un Coche puede tener Pasajeros.
Asociación de agregación
Muy similar a una asociación Directa. también es un “relación DÉBIL” con objetos independientes. Sin embargo, aquí los objetos asociados son una parte crucial del objeto contenedor.
Ejemplo: un automóvil debe tener llantas.
Nota: tanto las asociaciones directas como las asociaciones de agregación a menudo se generalizan como “asociaciones”. La diferencia es bastante sutil.
El objetivo de OOP es que su código replique objetos del mundo real, haciendo que su código sea legible y mantenible.
1. Asociación
La asociación es: la clase A usa la clase B.
Ejemplo:
- El empleado utiliza los servicios de autobús/tren para el transporte.
- La computadora usa el teclado como dispositivo de entrada
Y en el diagrama de UML, la asociación se denota con una punta de flecha normal.
2. Agregación
La clase A contiene la clase B, o la clase A tiene una instancia de la clase B.
Se utiliza una agregación cuando la vida del objeto es independiente del objeto contenedor. Pero aún el objeto contenedor posee el objeto agregado.
Entonces, si eliminamos la clase A, eso no significa que la clase B también se eliminará. Por ejemplo, ninguno o muchos profesores pueden pertenecer a uno o varios departamentos.
La relación entre Profesores y Departamentos es de agregación.
3. Composición
La clase A posee la clase B.
Por ejemplo, el cuerpo consta de brazo, cabeza y piernas. BankAccount consta de Balance y TransactionHistory.
Entonces, si se elimina la clase A, también se eliminará la clase B.
La asociación directa no tiene nada en común con las otras tres. No pertenece en absoluto a UML, es el término de modelado de requisitos de IBM.
En cuanto a los demás,
La Asociación A->B es un hijo de la Dependencia. Asociación significa que A (o su instancia) tiene alguna manera fácil de llegar a la instancia de B. Por ejemplo, axyb O por función, o por alguna variable local. O por una referencia directa o puntero, o cualquier otra cosa (hay muchos idiomas en el mundo). Como ves, no existe una frontera estricta entre la dependencia y la asociación.
Uno de attributes de Asociación es Agregación, puede tener valores: Ninguno, compartido (a menudo incorrectamente llamado agregación) y composición.
Si A (o una instancia) tiene algunas (o una) instancias de B, entonces, la destrucción de la asociación significa la destrucción de las instancias de B, es la composición.
Si usted o el autor de una herramienta han decidido que alguna relación tiene una relación, que es más débil que la composición, debe mostrarse especialmente, puede usar shared
agregación. Por lo general, se trata de algunas colecciones de referencias a B en A.
hay algunos mas interesantes attributes de asociaciones Mira aquí si estás interesado.
Comentarios y puntuaciones
Ten en cuenta compartir este artículo si te ayudó.