Foros del Web » Programación para mayores de 30 ;) » Java »

poner código fuente dentro de variable

Estas en el tema de poner código fuente dentro de variable en el foro de Java en Foros del Web. Buenas de nuevo: Como buen novato en Java hay una cosa que no se si se puede hacer y en todo caso cómo se hace. ...
  #1 (permalink)  
Antiguo 03/05/2012, 18:04
Avatar de ArcNexus  
Fecha de Ingreso: abril-2012
Ubicación: Donde uno se da cuenta de que no sabe nada
Mensajes: 69
Antigüedad: 12 años, 1 mes
Puntos: 4
poner código fuente dentro de variable

Buenas de nuevo:

Como buen novato en Java hay una cosa que no se si se puede hacer y en todo caso cómo se hace.

¿Se puede poner código dentro de una variable y luego hacer que se ejecute ese código en tiempo de ejecución.?


Ya se que tal vez pueda parecer raro, pero como en el otro lenguaje que utilizaba (VFP) se podía hacer pues me gustaría saber si es posible en Java.

Esto puede servir por ejemplo para poner el nombre de una variable, dentro de otra variable y luego sacar el valor de la variable contenida. En VFP por ejemplo me servía para recorrer todos los objetos de un formulario y tener su nombre cargado dentro de una variable matriz de la que luego con un & delante y añadiendo 2 puntos al final entre el nombre de la variable y la propiedad podía saber el valor de una propiedad o atributo de un objeto. sería algo parecido a ésto:

cnombreobjeto = "JText" + "Cliente" - lo que nos da: cnombreobjeto = "JTextCliente"

Bien, si me interesaba saber el valor contenido en el atributo text bastaba con hacer:

x=&cnombreobjeto..text - lo cual me devolvía el valor almacenado en ese atributo.
es lo mismo que JTextCliente.text, pero desconociendo el nombre del objeto., el cual puede ser construido en tiempo de ejecución y dependiendo de diversos factores, como puede ser una decisión del usuario.


¿Hay algo parecido en Java?

Gracias
__________________
Cuando compartimos, todos ganamos y crecemos.
mi blog:http://milinuxblog.informatica-intelligent.com
(Linux, Java y software libre)
  #2 (permalink)  
Antiguo 04/05/2012, 02:08
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: poner código fuente dentro de variable

Directamente no se puede hacer, no se pueden generar dinámicamente variables.

Podrías usar reflection si lo que pretendes es acceder a una variable/atributo que existe, pero lo más parecido a lo que buscas (y más recomendable) es usar un map para guardar/recuperar tus variables.

Cuando cambias de lenguaje siempre buscas hacer las cosas de la misma forma que conoces, pero es preferible adaptarse al nuevo lenguaje, ya que está pensado para funcionar de una manera concreta.

Piensa que java es OOP, por lo tanto se debe tratar siempre de que los objetos tengan las variables que le corresponden y estén claramente definidas. Y aunque a veces sea imprescindible, a mayor dinamismo, menos sigues la filosofía OOP.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 04/05/2012, 05:47
Avatar de ArcNexus  
Fecha de Ingreso: abril-2012
Ubicación: Donde uno se da cuenta de que no sabe nada
Mensajes: 69
Antigüedad: 12 años, 1 mes
Puntos: 4
Respuesta: poner código fuente dentro de variable

Cita:
Iniciado por Xerelo Ver Mensaje
Directamente no se puede hacer, no se pueden generar dinámicamente variables.

Podrías usar reflection si lo que pretendes es acceder a una variable/atributo que existe, pero lo más parecido a lo que buscas (y más recomendable) es usar un map para guardar/recuperar tus variables.

Cuando cambias de lenguaje siempre buscas hacer las cosas de la misma forma que conoces, pero es preferible adaptarse al nuevo lenguaje, ya que está pensado para funcionar de una manera concreta.

Piensa que java es OOP, por lo tanto se debe tratar siempre de que los objetos tengan las variables que le corresponden y estén claramente definidas. Y aunque a veces sea imprescindible, a mayor dinamismo, menos sigues la filosofía OOP.

Si, tienes razón en lo de que siempre buscamos hacer las cosas de la misma forma, y es un pu** engorro ya que el bosque no te deja ver los árboles.

No entiendo lo de usar un map ¿sabes de donde puedo sacar información al respecto?

Acabo de mirar lo de reflection; muy interesante, Java es la monda, no se acaba nunca,

Gracias.
__________________
Cuando compartimos, todos ganamos y crecemos.
mi blog:http://milinuxblog.informatica-intelligent.com
(Linux, Java y software libre)
  #4 (permalink)  
Antiguo 04/05/2012, 15:43
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 12 años, 5 meses
Puntos: 34
Respuesta: poner código fuente dentro de variable

Como te comenta @Xerelo lo mas sencillo seria utilizar un map donde guardes la informacion de tus variables y poder "Crearlas dinamicamente".
Yo tambien me tope con un problema paresido al programar un Template Engine.
Aqui te dejo el codigo fuente por si te sirve de ayuda:

https://github.com/luischavez/UmiTemplateEngine
  #5 (permalink)  
Antiguo 05/05/2012, 04:38
Avatar de ArcNexus  
Fecha de Ingreso: abril-2012
Ubicación: Donde uno se da cuenta de que no sabe nada
Mensajes: 69
Antigüedad: 12 años, 1 mes
Puntos: 4
Respuesta: poner código fuente dentro de variable

Cita:
Iniciado por LuisChavezB Ver Mensaje
Como te comenta @Xerelo lo mas sencillo seria utilizar un map donde guardes la informacion de tus variables y poder "Crearlas dinamicamente".
Yo tambien me tope con un problema paresido al programar un Template Engine.
Aqui te dejo el codigo fuente por si te sirve de ayuda:

https://github.com/luischavez/UmiTemplateEngine
Genial, gracias, voy a ver.

Java y sus metodos de trabajo me estan encantando, lo único es que la mente se va a lo que tiene por costumbre, o sea que ahora hay que acostumbrarla a Java y para ello nada mejor que leer y picar código.
__________________
Cuando compartimos, todos ganamos y crecemos.
mi blog:http://milinuxblog.informatica-intelligent.com
(Linux, Java y software libre)
  #6 (permalink)  
Antiguo 05/05/2012, 05:08
Avatar de ArcNexus  
Fecha de Ingreso: abril-2012
Ubicación: Donde uno se da cuenta de que no sabe nada
Mensajes: 69
Antigüedad: 12 años, 1 mes
Puntos: 4
Respuesta: poner código fuente dentro de variable

He estado viendo lo del Hashmap, tiene muy buena pinta y además se ve potente. Gracias a todos por vuestra ayuda.
__________________
Cuando compartimos, todos ganamos y crecemos.
mi blog:http://milinuxblog.informatica-intelligent.com
(Linux, Java y software libre)

Etiquetas: formulario, fuente, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:05.