Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/04/2014, 21:24
Avatar de Payaso73
Payaso73
 
Fecha de Ingreso: abril-2009
Ubicación: Argentina
Mensajes: 309
Antigüedad: 15 años
Puntos: 20
Respuesta: Dudas al implementar las relaciones del diagrama de clases de UML

Hola ivan0590, una asociación es cuando una clase tiene una referencia a otra clase como atributo, por ejemplo

Código Java:
Ver original
  1. public class ClasePrincipal {
  2.  
  3.     private ClaseSecundaria objetoClaseSecundaria;
  4.  
  5. }
  6.  
  7. public class ClaseSecundaria {
  8.  
  9.     private ClasePrincipal objetoClasePrincipal;
  10.    
  11. }

En el ejemplo de arriba, ClasePrincipal está asociada a ClaseSecundaria con una relación de 1 a 1. Ambas pueden usar los métodos de la otra por medio del objeto declarado.


Cita:
además tampoco se como se implementaría una asociación directa, me refiero a la asociación con punta de flecha.
Una asociación "con punta de flecha" quiere decir que es unidireccional, o sea...

[ClasePrincipal]---->[ClaseSecundaria]

ClasePrincipal tiene un atributo ClaseSecundaria objetoClaseSecundaria como en el ejemplo de arriba, pero ClaseSecundaria no tiene el de ClasePrincipal, ya que, como te marca la flecha, no puede ir para esa dirección.

Si por ejemplo tenes una relación 1 a n (1 a muchos / 1 a *), en vez de declarar un objeto, declaras un vector/arreglo/lista.

[ClasePrincipal](1)--------(0..*)[ClaseSecundaria]

En este caso, ClasePrincipal tendría de atributo un arregla de tipo ClaseSecundaria y ClaseSecundaria tendría un objeto de tipo ClasePrincipal.

En cuanto a Agregación y Composición, no te puedo ayudar porque nunca me lo puse a ver en detalle ya que me recomendaron que trate de no usarlo.

Espero te ayude mi respuesta, te dejo un pdf para que lo veas, tiene ejemplos de UML a Java bien detallados, me sirvieron cuando tuve alguna duda. También te recomiendo el libro "UML for Java Programmers"

UML a Java

Saludos!