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

Como crear un Objeto a partir de un String y una Clase dada

Estas en el tema de Como crear un Objeto a partir de un String y una Clase dada en el foro de Java en Foros del Web. ¡Hola! Es una pregunta que llevo buscando dando vueltas. ¿Existe en Java la posibilidad de que a partir de un String se defina el objeto ...
  #1 (permalink)  
Antiguo 11/04/2007, 09:26
 
Fecha de Ingreso: abril-2007
Mensajes: 1
Antigüedad: 17 años, 1 mes
Puntos: 0
Exclamación Como crear un Objeto a partir de un String y una Clase dada

¡Hola!

Es una pregunta que llevo buscando dando vueltas. ¿Existe en Java la posibilidad de que a partir de un String se defina el objeto de una clase?

Sería una función parecida a esta:

void Funcion(String NOMBRE, Class CLASE);

Y a partir de ahí se crea un Objeto de la clase CLASE cuyo identificador de la variable es NOMBRE.

Para después hacer por ejemplo: NOMBRE.metodo();

¡Muchas gracias!
  #2 (permalink)  
Antiguo 11/04/2007, 11:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Re: Como crear un Objeto a partir de un String y una Clase dada

Ummmmm la primera pregunta que se me ocurre es.... ¿si no sabes el nombre de la variable ni la clase en tiempo de compilación... como vas a compilar la sentencia "NOMBRE.metodo()"? .

La respuesta a tu pregunta es doble:
.- Puedes usar lenguajes de script (no compilados sino interpretados en ejecucion) para hacer ese tipo de cosas. Si realmente tienes que escribir las sentencias así no puedes usar un lenguaje compilado.
.- Puedes usar Java Reflection para cargar clases en tiempo de ejecución, crear instancias, ejecutar metodos... en tiempo de ejecución, pero eso sí, no puedes escribir así tu programa sino que tienes que adaptarte a lo que sabes en tiempo de compilación. Por ejemplo, no puedes darle un "nombre" a una variable y luego usar ese nombre en el programa, en vez de eso puedes usar un objeto que tendrá tu variable y ejecutar un metodo sobre ese objeto, pero el objeto y su nombre ya se saben en compilación. Es distinto.

Para Java Reflection, aquí: http://java.sun.com/docs/books/tutor...ect/index.html
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 13:36.