Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: Andromon en 04 de Abril 2015, 14:46
-
Hola, no termino de ver si esta pregunta tiene demasiado sentido, o igual está tratado al principio del curso y me lo he saltado o no lo he visto, pero, ¿¿cómo guardo los objetos instancia de una clase que cree con el BlueJ?? Constantemente se me "pierden" al cambiar a otra clase o compilar algo.
¿Es que esos objetos no son "nada"? ¿No quedan en ningún sitio? Lo digo porque imaginemos que estoy haciendo la clase Taxi, y creo varios objetos Taxi, y les doy valores a sus atributos, ¿Eso no hay alguna forma de salvarlo? ¿No es código Java?
Igual es que la explicación viene más adelante en el curso, y todavía no he llegado ahí, o no he entendido algo, pero antes de seguir demasiado de cara a que luego no se vayan a pedir demasiados objetos que ya debería tener creados, me gustaría saber si se puede hacer.
Y si no, si me podéis explicar por qué o qué es lo que no estoy entendiendo.
Un saludo y gracias!
-
Tu pregunta tiene todo el sentido, según lo que aprendí podés almacenar el estado de un objeto por ejemplo en un archivo y luego recuperarlo. Eso se llama serialización.
Tu otra pregunta: ¿Es que esos objetos no son "nada"?
Una vez que creas una clase, y la instancias, el resultante es un objeto, no es que "no son nada" o son una clase, o un objeto. Acuérdate que en una clase se definen los atributos y métodos de un objeto, allí se encuentra la definición de todos los objetos que crees. La diferencia entre una clase y un objeto, es que un objeto posee un estado.
¿No quedan en ningún sitio?
Sí, una vez que ejecutas tu aplicación java, los objetos se encuentran en la JVM (para no ser tán específico), pero una vez que recompilas la clase, los objetos que no hayas serializado o almacenado se pierden. Tratá de investigar más sobre esto en internet.
pd: Yo también lo voy hacer, tratá de averiguar el la documentación oficial Java.
¿No es código Java?
Todo es código java, la diferencia la mencioné mas arriba.
Espero que te haya ayudado. Saludos!
El secreto del éxito es la constancia
Benjamin Disraeli
-
Hola
Tal como has observado, los objetos creados en la ventana de BlueJ se pierden al compilar.
De la misma forma que cuando un programa ya sea hecho en Java u otro lenguaje, 'pierde' los objetos creados al terminar su ejecución.
Una nueva compilación implica que el código ha cambiado y no se pueden mantener unos objetos sin el soporte del código que lo ha generado.
He de decirte que no conozco otro IDE para Java que permita crear los objetos sin tener todo el proyecto terminado, atado y bien atado.
Esta característica de BlueJ permite probar porciones de nuestro código, probar las clases de una en una, independientemente del resto de las clases.
De forma que estas pruebas nos permiten depurar deficiencias, y que después de solventarlas podemos continuar con nuestro proyecto sabiendo que lo hecho hasta ahora cumple nuestras espectativas.
Y finalmente, aunque BlueJ no 'guarda' los objetos creados, aquí va un enlace para tener un sucedáneo.
https://www.aprenderaprogramar.com/foros/index.php?topic=1595.msg8380#msg8380
Saludos