En la página principal de los foros
encontrarás los enlaces al
feed general
y al de cada uno de los foros.
Subscribete para mantenerte informado de los cambios y responde a las dudas siempre que te sea posible
Hola, si lo que quieres es desarrollar aplicaciones de escri ...
lo primero es que soy un gran novato en java. quiero instala ...
Hola, la de los IDEs es principalmente una cuestión de gusto ...
soy nuevo en java:........ hacer un programa en java que: la ...
pregunte mal amigo..., yo hago el ejercicio de herencia de v ...
| ayuda con objetos | 02/07/2009 20:34 | |
| anonymous |
Hola a todos, pido ayudas con esto: estoy trabajando en un programa que maneja un arreglo de dos dimensiones 8x8, todas las casillas tienen valor de cero, excepto 4, que aleatoriamente se marcan con un 1, como si se tratara de un tablero de ajedrez con 4 pzas el problema esta en que cuando tengo un tablero, y a partir de ese quiero generar uno nuevo, mediante solo mover una de las pzas (que implica borrar uno de los unos y ponerlo en otro lugar). Sucede que que el tablero origen, toma los atributos del segundo, osea del que se genero a partir del primero. // S es el tablero origen // Snew es que nuevo a partir de Snew Solucion Snew = new Solucion(); Solucion S = new Solucion(); Solucion envio = new Solucion(); envio = S; // uso envio para "asegurar" que S no se modificara Mostrador.MuestraTablero(S); // aqui muestro el tablero S y veo sus atributos Snew = new Alterador().Alterar(envio,Nalfiles); //El resultado de la clase alterador quedara en Snew Mostrador.MuestraTablero(S); // aqui muestro los dos tablero y son iguales! (S perdio sus //valores originales) Mostrador.MuestraTablero(Snew); |
|
|
||
| RE: ayuda con objetos | 03/07/2009 00:07 | |
| jaro |
Me temo que no he entendido ni el código ni la pregunta :-) Saludos |
|
|
||
| RE: ayuda con objetos | 03/07/2009 00:08 | |
| itubal |
Hola Amigo: ¿Que ayuda necesitas??? El programa está funcionando bien. Cuando haces... envio=S No estas copiando lo que hay en "S" a "envio". Lo que haces es asignar "envio" a "S" por lo que tanto "envio" como "S" están "apuntando" al mismo objeto, hacen referencia al mismo objeto. Coge un manual de Java y seguro que te lo explica mejor. Creo que hace unos días precisamente lo estaba leyendo en el libro "Piensa en Java". Mira a ver si tienes algún método para "clonar" objetos y que realmente te copie el objeto y tengas dos objetos. ESto ya es trabajo tuyo, para que no lo tengas todo tan mascadito ¿no?.
Seguro que alguien del foro no puede explicar esto mejor. Yo estaré encantado de aprender más y concretar esto mucho más. Un saludo |
|
|
||
| RE: RE: ayuda con objetos | 05/07/2009 17:49 | |
| anonymous |
hola a todos, el problema quedo resuelto cuando copie atributo por atributo, es decir fue una CLONACION
espero esto sirva para los que tengan el mismo problema
saludos! |
|
|
||
| RE: ayuda con objetos | 05/07/2009 20:12 | |
| itubal |
¿Copiar atributo por atributo?. Espero que alguien que tenga el mismo problema que tu no siga tus pasos!!! y que busque lo que realmente tu necesitabas y no has encontrado. http://java.sun.com/j2se/1.4.2/docs/api/in dex.html todos los objetos tienen un metodo clone() Un saludo. |
|
|
||
| RE: ayuda con objetos | 06/07/2009 10:45 | |
| jomaveger |
El clone() te permite hacer copias superficiales. Si quieres hacer copias profundas, usa serialización.
Un saludo. |
|
|
||