UNA AYUDITA MU BÁSICA DE CLASES

Rocio
02 de Septiembre del 2004
Hola
Tengo un diagrama de clases, y me gustaría saber si cuando tengo una composicón, lo tengo que representar como una clase dentro de otra en mi código.
Y si cuando en el diagrama tengo clases asociadas, no pueden estár una dentro de la otra.
MUuuuuuuuchas gracias

chuidiang
02 de Septiembre del 2004
Las clases en el codigo pueden estar como las necesites. Lo normal es una clase por fichero y separadas.

Si tienes dos clases A y B y A esta compuesta por B, puedes tener perfectamente A.java y B.java. La composicion se representa como que A tiene un atributo que es B, es decir

class A
{
B b;
}

Entre agregacion y composicion hay una diferencia sutil. En un caso deberias hacer el new de B justo al construir la clase A y destruir B justo al destruir B

class A
{
B b = new B();
}

En el otro caso, b puede ser null y adquirir valor o perderlo en cualquier momento

class A
{
B b = null;
public void unMetodoPublico ()
{
b = new B();
}
public void otroMetodoPublico (B otraB)
{
b = otraB;
}
}

Se buena.