Java - Objetos (clases) en java

 
Vista:

Objetos (clases) en java

Publicado por Kyshuo (2 intervenciones) el 28/12/2009 13:21:08
Bueno, primero que nada he de felicitar a las personas que mantienen esta web ya que aquí hay muchísima información muy interesante. FELICITACIONES!!!

Les comento mi problema. Estoy aprendiendo a programar con Java. Estoy desarrollando un pequeño programa para practicar, el cual simula batallas pokémon simples, tales como en los pequeños juegos de Game Boy de esta serie. Más allá del funcionamiento en sí del programa, me encontré con un problema: He creado varias clases diferentes, una de las cuales es llamada Pokemon y es la que contiene todos los datos de cada una de estas criaturas. El problema es que, al crear dos elementos distintos de esta classe, por ejemplo

Pokemon pikachu= new Pokemon(), raichu= new Pokemon();

si hago la asignación siguiente: pikachu= raichu, sucede que ambos quedan como referenciando un mismo lugar de la memoria, o sea, luego de eso, al modificar uno, se modifica el otro. ¿Esto sucede con todos los objetos en java? ¿Hay alguna forma de que no suceda así? Si necesitan más datos o el código fuente solo díganme. Desde ya, muchas gracias.
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:Objetos (clases) en java

Publicado por James (207 intervenciones) el 28/12/2009 17:23:25
Si eso sucede con los objetos en Java, pues java solo trabaja en referencia, para que esto no te suceda deberias crear cada objeto independiente, si deseas compartir caracteristicas podria shacer uso de herencia, pero si en realidad deseas sacar una copia del objeto para luego trabajar sin modificar el origical deberia usar el metodo clone, este por default te devuleve un objeto al que le aplcas un cast, pero en tu caso al ser una clase tuya deberas sobreescribir el metodo clone, Suerte
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:Objetos (clases) en java

Publicado por Kyshuo (2 intervenciones) el 29/12/2009 02:11:48
Oh, muchas gracias... ya me he puesto a trabajar en métodos para que tomen los datos del objeto original y los pasen al nuevo sin referenciarse el uno al otro. De nuevo, muchas gracias por responder y felicitaciones a esta WEB, de verdad hay mucho por investigar.
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