Foro de elhacker.net

Programación => Java => Mensaje iniciado por: NelxoN en 16 Mayo 2009, 04:21 am



Título: Creación de objetos con nombres introducidos por teclado
Publicado por: NelxoN en 16 Mayo 2009, 04:21 am
Hola a todos,

Tengo un pequeño problema, el cual es el siguiente.. El programa me pide por teclado varias caracteristicas de un objeto que tengo que crear, después, tendria que hacer lo siguiente:

ClaseAvion NombreObjeto = new ClaseAvion();

Pero mi pregunta es, como hago para que "NombreObjeto" sea dinámico? ... Es decir, si una de las caracteristicas del objeto introducidas por teclado es el nombre de un carro, el nombre del objeto sea el nombre del carro introducido por teclado. Intenté remplazando "NombreObjeto" por la variable que guarda el nombre del carro, pero obvio que no va a funcionar ya que java lo tomaria como si estuvieras definiendo otra vez la variable.

Saludos.


Título: Re: Creación de objetos con nombres introducidos por teclado
Publicado por: Amerikano|Cls en 16 Mayo 2009, 04:55 am
Tengo entendido que no se puede, para eso estan los atributos y metodos, que mas quieres personalizar?? xD.

salu2


Título: Re: Creación de objetos con nombres introducidos por teclado
Publicado por: NelxoN en 16 Mayo 2009, 05:16 am
El problema es que tengo que hacer el programa totalmente dinámico, no se trata de personalizar.

Imaginate un simple programa que lo único que tenga es una clase llamada "carros", y se te pregunta por teclado el modelo del carro, y el color.. Una vez con estos dos atributos, necesitaria crear el objeto, pero para crearlo, tengo que asignarle un nombre al objeto (por ejemplo carro1, donde su dos atributos ya los tengo).

Ese es el problema, asignarle dinámicamente un nombre al objeto, ya sea por teclado, o automaticamente carro1, carro2, carro3, y después poder llamar a sus metodos (por ejemplo carro1.getColor()


Título: Re: Creación de objetos con nombres introducidos por teclado
Publicado por: Anibal784 en 16 Mayo 2009, 15:48 pm
En java no se puede (en la mayoría de los lenguajes no se puede, el único que conozco que se puede es php).
Lo que puedes hacer es, tener un atributo nombre dentro del objeto para referirte a él y almacenarlo en una variable cualquiera, ahora eso te restringe a tener un único objeto a la vez, entonces podrías usar o una lista o un arreglo para almacenar x cantidad de objetos, pero eso genera que cada vez debas hacer una búsqueda para encontrar el objeto en cuestión por lo que lleva tiempo y esas estructuras no son muy buenas para búsquedas (no se como trabajan internamente), ahora puedes crear una estructura de árbol para almacenar o bien usar algún HashMap donde la clave es el nombre del objeto.


Título: Re: Creación de objetos con nombres introducidos por teclado
Publicado por: Amerikano|Cls en 16 Mayo 2009, 18:18 pm
Mira yo creo que la mejor solucion seria crear un arrayList del tipo objeto determinado y los vas añadiendo conforme vas creando los objetos, y podes añadir un atributo por decrilo nombre que sera asignado conforme se ingresan los datos del teclado y asi sabras identificarlos ;).

salu2