Ver Mensaje Individual
  #2 (permalink)  
Antiguo 13/10/2015, 01:58
Kritik
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: POO en java opinion porfavor

Dando una explicación muy simple, la POO es aquella en la que se basa en la abstracción de objetos de la vida real.

Estos objetos están definidos por sus características y por las cosas que son capaces de hacer.

Por ejemplo un coche tiene las características de color, nº de ruedas, cilindrada del motor, potencia del motor, color, etc

Un coche a su vez es capaz de arrancar, moverse hacia delante, moverse hacia atrás, girar, etc.

Lo mismo pasaría con la POO, si queremos hacer un objeto coche le tendremos que asignar unos atributos (características) y unos métodos.

Lo que se hace en java no es crear objetos en sí, sino plantillas de objetos (clases). Estas clases tienen las características del objeto... solo que sin concretar. O sea, que tienen la característica color... pero no tiene un valor asignado. Tiene la característica cilidrada del motor, pero no tiene un valor asignado. Para utilizar estos objetos debemos usar esa plantilla (clase) para instanciarlo. Que no es otra cosa que crear una copia de la plantilla y darle valores personalizados (color, nº ruedas, cilindrada, etc) Y de esa forma ya podemos usar ese objeto, que ya si tiene valores concretos de sus características. Y gracias a esos valores concretos sus métodos nos darán resultados concretos, en los que normalmente intervendrán los valores de dichas características. Por ejemplo el método correr, que nos devolverá un int con la velocidad máxima de km/h que utiliza el atributo potencia del motor. Y que sin darle un valor concreto a ese atributo no puede dar un valor concreto al resultado de ese método.

Así, para ir de una ciudad a otra has de usar el método correspondiente de tu copia personalizada de la clase coche, o sea, tu objeto coche. Es el objeto coche el que hace las cosas que tú necesitas que haga. Como ir de una ciudad a otra.

Básicamente esa es una explicación muy sencilla de como funciona la POO.

En tu caso en concreto yo veo que tu clase de java SqlSelect te está devolviendo el valor que tú quieras que te devuelva. Por lo tanto está haciendo bien su trabajo.

Ahora comentas que el valor que te devuelve <option value="Mexico">Mexico</option> no te sirve, porque de ahí tienes que sacar la palabra "Mexico" para usarla en otros sitios de tu código HTML. Es decir, que en otros sitios de tu código HTML todos los caracteres que van antes y después de Mexico te sobran.

Pues entonces la solución es muy sencilla. En Java has de tener un método (por ejemplo de modo private porque solo se va a usar desde dentro de esa misma clase) que te devuelva única y exclusivamente "Mexico" que es lo que te devuelve la consulta sql. Y sin agregar nada más, que esa función te devuelve un String con única y exclusivamente esa palabra.

Ahora, en tu código HTML necesitas poner todo lo que rodea a la palabra Mexico... pues créate otro método distinto de la clase (que sea public pues la vas a utilizar desde fuera) que llame a la 1ª, que recoja la palabra Mexico y construya ese String que tiene todo lo que rodea a la palabra Mexico, junto con Mexico.

Luego en tu código HTML necesitas poner un código distinto, que también tenga otras cosas distintas rodeando a la palabra Mexico... pues créate en Java un método distinto que llame al 1º, que recoja la palabra Mexico y te devuelva el código HTML que necesitas.

Y así sucesivamente. De forma que tienes en java una clase con muchos métodos String, y que cada uno te devuelve un String distinto. Igual que un coche tiene el método andar hacia delante y el método andar hacia atrás, tu objeto de la clase SqlSelect tiene un método de construcción de Radiobutton de HTML, tu método de construcción de tabla HTML, tu método de construcción de botón HTML, etc... y así vas construyendo tu HTML con los resultados de tu consulta sql. Así tendrás, por ejemplo un método que se llame "DameRadioButton", otro que se llama "DameTable", y según si quieres un RadioButton o una table pues llamas a uno o a otro. No solo 1 método, sino varios.

Así pues, es el mismo objeto el que tiene varios métodos, no tienes distintos objetos, solo tienes 1 objeto con distintos métodos.

PD: Los motores gestores de bases de datos están muchísimo más optimizados que los lenguajes de programación a la hora de tratar datos provenientes de una base de datos, así que el proceso de filtrar datos dentro de una tabla, desechando X o Y columna se hace muchísimo más rápido en el gestor de la base de datos. Por lo tanto, si ya sabes exactamente que vas a utilizar la columna 1 y las demás las vas a desechar... en vez de usar la consulta Select * ganarías poniendo el nombre de la columna/s que vayas a usar, haciendo que sea el motor de la base de datos el encargado de desechar esos campos. Por otra parte, el programa utilizará muchísimo menos memoria, pues recibe muchísima menos información.

Última edición por Kritik; 13/10/2015 a las 02:31