Java - Crear objeto reconocible por todas las clases.

   
Vista:

Crear objeto reconocible por todas las clases.

Publicado por Carpediem (7 intervenciones) el 29/04/2008 13:18:19
Hola Buenos Dias, necesito un poco de vuestra ayuda.

La cuestion es que quiero acceder a un objeto de una clase que creo en una clase determinada desde todas las clases.

Ejemplo: Tengo 3 clases Tienda, Aplicacion, Menu. Yo en aplicacion class creo una nueva tienda. y despues desde la clase Menu es donde se le da las opciones al usuario de gestionar esa tienda, pero menu no reconoce ese objeto, solo me deja crear uno nuevo y gestionar solo ese.

Como podria hacer que cuando crease un objeto tienda desde la clase aplicacion tambien me lo reconociera en la clase menu para poder mandarle ordenes concretamente a esa tienda?

Tiene que ver algo con hacerla constante estatica?

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Crear objeto reconocible por todas las clases.

Publicado por Julian (10 intervenciones) el 29/04/2008 19:20:37
Pues puede ser ese el problema, una constante no puede ser modificada (de ahi el nombre), en vez de hacerla estatica, puedes pasarsela como parametro a Menu
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Crear objeto reconocible por todas las clases.

Publicado por Carlos Corona (9 intervenciones) el 29/04/2008 20:01:17
Bueno, si y no... para que puedas acceder a un objeto desde otras clases, debes envíarsela... no basta con que sea static o ningun otro modificador... solo aguas con ello!!

static: Todos lo objetos de la clase tendran acceso a éste unico objeto
final: una vez instanciada, su valor no se modificara

pero como ves, ninguno te dice que se comparte, para ello debes hacer algo así:

class Aplicacion{
Tienda t = new Tienda();
...
Menu m = new Menu(t);
...
}

class Menu{
Tienda tienda;
public Menu(Tienda t){
tienda = t;
...
}
public otroMetodo(){
//aqui ya puedes usar tienda haciendo referencia a la tienda de tu aplicacion
}
}

como te digo, solo ten cuidado, tu tienda va a ser una y solo una que se esta llamando desde cualquier menú y aparte desde la aplicación... no la hagas hacer varias cosas a la vez o tendras problemas, jejeje

ahh y lo de static por ejemplo, como vez varia mucho, por ejemplo si pusieras static la tienda de aplicacion, todas las aplicaciones que crearas trabajarían con la misma tienda... osea que aguas!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar