UML y Java

Mar
23 de Septiembre del 2004
Hola:
No veo muy bien lo de pasar de UML a Java. En concreto no veo muy bien la diferencia entre Asociacion y Agregacion, ¿alguien podria ponerme un ejemplo de 2 clases asociadas y como seria la declaracion de sus clases en Java y dos clases agrgadas?
Gracias

chuidiang
23 de Septiembre del 2004
UML es más genérico que java y admite muchos tipos de asociaciones que no tienen un paso directo a java o a C++ o a cualquier otro lenguaje.

En UML, asociacion es cualquier tipo de asociacion entre dos clases, es una cosa general. La herencia, agregacion, composicion, etc, son tipos de asociaciones. Suele usarse la asociacion en general en una fase temprana del diseño, en la que todavía no se tiene claro si se quiere heredar, agregar o componer.

Entre agregación y composición hay una diferencia muy sutil (quizás es lo que quieres preguntar).

En la composición ambas cosas estan asociadas desde que se crean hasta que se destruyen. Por ejemplo, no tiene sentido una ventana de aceptar/cancelar sin el boton de aceptar. Entre la ventana y el boton hay una asociacion de composicion.

En una agregacion, una cosa esta compuesta de otras, pero puede no tenerlas en un momento dado. Un coche tiene radio, pero puede haber coches sin radio.

No se si con esto queda claro....

Se bueno.

DNK
23 de Septiembre del 2004
No soy el que ha escrito el post pero andaba buscando una respuesta a esa pregunta, así que muchas gracias por haberla contestado :)

Un cordial saludo