Ver Mensaje Individual
  #11 (permalink)  
Antiguo 08/05/2011, 11:21
_Ruben_
 
Fecha de Ingreso: enero-2008
Mensajes: 201
Antigüedad: 16 años, 11 meses
Puntos: 39
Respuesta: Acceso dinámico propiedades y métodos java

Cita:
Iniciado por rimobio Ver Mensaje
No quiero entran en debates sobre (PHP vs JAVA) porque yo he escrito aquí para ver si Java tiene soluciones a lo que busco, si hay algún método de realizar lo mismo, si tiene cosas escondidas que no se aun y me pueden ayudar a programar más rápido estructuras de clases, y demás cosas que seguramente no conozco de la profundidad de java y me gustarían saber…

Tu quizás piensas que la robustez es lo mejor que hay en el mundo y yo creo que somos los programadores y los analistas los que tenemos que saber que hacemos exactamente con cada método, propiedad que usamos, y tener flexibilidad para crea un diseño que se adecue mejor a lo que buscamos, Y que el lenguajes se adapte a las solución, no al contrario. Pero esta es meramente mi opinión.

En PHP es posible seguir las reglas de POO con un objeto que tenga propiedades dinámicas
http://es.w3support.net/index.php?db=so&id=829823

Yo no sé, si has programado en PHP, en ese caso acepto que lo critiques, ya que es cierto que no se hizo como lenguaje POO y es normal que Java que si se hizo con este fin, pues tenga cierto control más avanzado. Pero eso no significa que en PHP se programe mal en POO, la encapsulación existe con métodos mágicos como __get , __set , __call … etc. Y estos métodos dan al POO de PHP la flexibilidad de hacer aquello que quieras.

Como ya comente llevo 1 mes en Java y no tengo argumentos para poder alabarlo ni criticarlo, y no lo hago, o al menos no es mi intención, simplemente busco, soluciones a métodos, tareas, funciones… que yo antes realizaba en PHP, y ahora las tengo que solucionar en Java para usarlas en JSP.
PHP Y JAVA No son iguales, y me tengo que adaptar a Java es una realidad, pero darme tiempo, tengo que ir solucionando problemas y por eso vengo a este Gran Foro a pedir a los que más sabéis de Java que me digáis, “Pues sí, eso se puede hacer así o asa… ” , ”No tío, eso no se puede hacer.. Pero mira a ver si esta otra idea te vale.. ” , “Claro que se puede, hay un modo de hacer una súper-relación que te ayuda ….. ala ala… ” para esto estoy en este foro para aprender.

La verdad, he estado pensando si era necesario que te conteste o no, y sinceramente no lo hubiera hecho si llego a ver soluciones y no criticas destructivas y nada productivas como me has dado, en todo caso pido disculpas anticipas por si en algún momento he llegado a ofender a Java ya que esta no ha sido mi intención.
He programado tanto en Java como en PHP, en ambos desde hace tiempo. Tú primero aprendiste PHP y luego Java, yo primero aprendí Java y después PHP.

Lo que pretendes hacer en Java tal y como lo has explicado no se puede. Lo más parecido es la solución que te han dado anteriormente.

Yo no se como has aprendido POO, yo he aprendido en la universidad, y hacer algo como una clase con atributos dinámicos de la forma que explicas era un suspenso directo.

Si explicas cual es el objetivo de esa clase con atributos dinámicos podré darte la solución que yo haría. Lo que yo veo es un fallo en el diseño de las clases que necesitas, estoy casi seguro que la solución es tener 2 o 3 clases en vez de 1, pero para eso necesito saber que es lo que hace la clase que estás implementando.

No entro en debates entre PHP y Java, que en PHP puedan hacerse clases con atributos dinámicos y siga siendo POO no significa que sea una buena práctica de POO. Las buenas prácticas de POO son aquellas independientes del lenguaje, cuando se aprende POO debes aprender para cualquier lenguaje y no para algunos en concreto.

No te he dado una posible solución porque necesito saber que es lo que va a hacer esa clase. Y mucho menos era una crítica destructiva, tan solo te aconsejé aprender con más calma Java y cambiar el chip de PHP a Java porque son muy distintos. Lo que comentaba de la robustez solo es una de las diferencias más notables entre PHP y Java, y no, lo más importante no es la robustez, porque hay otras cosas que son igual o más de importantes. Por supuesto que el programador sepa lo que está haciendo es fundamental. Imagínate que yo hago una clase con atributos dinámicos, yo se lo que estoy haciendo porque soy el creador, pero si te doy el código a ti te llevaría mucho tiempo entenderlo. Cuando tú eres el único programador da igual como hagas las cosas mientras tú sepas lo que haces pero si el día de mañana das ese código a otro programador puede resultarle muy difícil entenderlo si no se hacen las cosas como se deben hacer.

Java no es perfecto, de hecho hay ejemplos de código que muestran algunos fallos de Java en POO y que en otros lenguajes no existen, así que a mi no me importa que "ofendas" a Java, yo sería el primero en criticarlo si tu problema fuese uno de esos casos en los que el problema es de Java.

Pero te repito que si explicas cual es el objetivo de la clase que estás haciendo estaré encantado de darte la solución que yo haría (para no tener que usar atributos dinámicos).