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

llamar clase?

Estas en el tema de llamar clase? en el foro de Java en Foros del Web. Hola amigos...tengo un pedazo de una clase asi Cita: public static ConsultaCliente[] getClientes(String cadena){ String[] arreglo = explode(cadena, "[$$]"); Vector vector = new Vector();// me ...
  #1 (permalink)  
Antiguo 05/07/2011, 14:39
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Pregunta llamar clase?

Hola amigos...tengo un pedazo de una clase asi
Cita:
public static ConsultaCliente[] getClientes(String cadena){
String[] arreglo = explode(cadena, "[$$]");
Vector vector = new Vector();// me permite agregarle todo lo q quiera
int lonArreglo = arreglo.length;//longitud que tiene el arreglo
for(int i=0; i<lonArreglo; i++) {
ConsultaCliente objeto = getCliente(arreglo[i]);
if (objeto instanceof ConsultaCliente){
vector.addElement(objeto);
}
}
lonArreglo = vector.size();
ConsultaCliente[] clientes = new ConsultaCliente[lonArreglo];
vector.copyInto(clientes);
return clientes;
}
la pregunta es como la uso esa anterior en esta, como la puedo llamar

Cita:
private void respuestaConsultaClnt(String respuesta) {
String val = "[-ok-]";
if (validarFormulario()) {
if (respuesta.indexOf(val) != 1) {
int id = respuesta.indexOf(val) + val.length();
String cadena = respuesta.substring(id);
usuario = ConsultaCliente.getCliente(cadena);

if (usuario != null) {
Dialog.show(null, "NOTA: Se encontraron las "
+ "siguientes coincidencias", Dialog.TYPE_INFO, null, "OK", null);

Label dress = new Label(usuario.getDireccion());
Label local = new Label(usuario.getLocal());

addComponent(dress);
addComponent(local);

} else if (respuesta.equals("[-wr-]")) {
Dialog.show(null, "NOTA: No se encontraron coincidencias "
+ "en la busqueda", Dialog.TYPE_INFO, null, "OK", null);
}
}
}
}
Gracias cualquier sugerencia seria de gran ayuda
  #2 (permalink)  
Antiguo 05/07/2011, 16:20
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: llamar clase?

No se "llama a la clase" sino a un método static (es decir que no requiere una instancia de la Clase en la cual se encuentra el método para poder utilizarlo) que contiene dicha Clase.

Código Java:
Ver original
  1. ConsultaCliente[] consulta = NombreDeLaClase.getClientes(String cadena);
__________________
BadProgrammerException!
  #3 (permalink)  
Antiguo 05/07/2011, 16:33
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: llamar clase?

mmmm hola FiruzzZ miro tu respusta y vuelvo a mi codigo y entendiendo lo de estatic pero cuando lo coloco dentro del codigo no consigo ningun resultado no se si lo estoy ubicando mal
  #4 (permalink)  
Antiguo 05/07/2011, 17:39
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: llamar clase?

Te doy un ejemplo.

Imagina que tienes una clase publica "Perro" con un método estático "ladrar". Tu puedes acceder a este método desde cualquier clase que éste en el mismo paquete de la siguiente manera:

Código java:
Ver original
  1. Perro.ladar();

En dado caso que éste método no sea estatico es necesario instanciar un objeto del tipo Perro para acceder a los metodos y atributos (no estaticos) de esta clase.

Código java:
Ver original
  1. Perro p = new Perro();
  2. p.ladrar();

Ya con estos conceptos claros. Vemos que la forma de llamar al método getClientes("cadena"); es efectivamente como te lo dice Firuz.

Código java:
Ver original
  1. Clase.getClientes("una_cadena")

Es evidente que este método recibe una cadena, pero tambien retorna algo. En este caso retorna un objeto del tipo ConsultaCliente que además es un arreglo.

Por ello Firuz creo una variable de éste mismo tipo para recibir el objeto ConsultaCliente[] retornado por el método getClientes(String cadena);

Código java:
Ver original
  1. ConsultaCliente[] variable = MiClase.getClientes("cliente numero $1"); //Por ejemplo.


Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #5 (permalink)  
Antiguo 06/07/2011, 07:55
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: llamar clase?

Sip Gracias a los dos ahora si le entiendo...... pero como ya tengo un condicional con una cadena tambien al colocarle el condiconal de

Código Java:
Ver original
  1. ConsultaCliente[] variable = NombreDeLaClase.getClientes(String cadena);

se culpliria la condicion de la cadena??

Gracias
  #6 (permalink)  
Antiguo 06/07/2011, 09:54
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: llamar clase?

A cual condicion te refieres?


Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #7 (permalink)  
Antiguo 06/07/2011, 10:00
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: llamar clase?

hola mira me refiero a esta

Código Java:
Ver original
  1. String cadena = respuesta.substring(id);
  2. usuario = ConsultaCliente.getCliente(cadena);
  3.  
  4. if (usuario != null) {
  5. Dialog.show(null, "NOTA: Se encontraron las "
  6. + "siguientes coincidencias", Dialog.TYPE_INFO, null, "OK", null);
  7.  
  8. Label dress = new Label(usuario.getDireccion());
  9. Label local = new Label(usuario.getLocal());
  10.  
  11. addComponent(dress);
  12. addComponent(local);
  13.  
  14. }
  #8 (permalink)  
Antiguo 06/07/2011, 10:07
 
Fecha de Ingreso: septiembre-2007
Ubicación: PyRoot
Mensajes: 1.515
Antigüedad: 16 años, 7 meses
Puntos: 188
Respuesta: llamar clase?

La linea 2 y las lineas 8 y 9 entraran en conflicto.


Recuerda que una variable se comienza a escribir en minuscula y una Clase siempre se Debe escribir capitalizada Con la primer letra en Mayuscula


entonces

usuario = ConsultaCliente.getCliente(cadena);

donde usuario se ésta comportando como una variable a la que se le asigna el valor ConsultaCliente.getCliente(cadena);

Cuanto tu hagas

usuario.metodo();

1 de 2, o usuario es un objeto instanciado del tipo

Usuario usuario = new Usuario();

o es el nombre de la clase usuario que deberia escribirse con la primer letra mayuscula (Por cuestiones de una programación mas organizada)

Usuario.metodoestatico();

De cualquiera de estas 2 formas, tu asignacion de la linea 2 hara entrar en conflicto las lineas 8 y 9.

Todo lo demas parece estar bien.

Saludos.
__________________
Si quieres agradecer el triangulo obscuro de la parte derecha debes presionar +.
  #9 (permalink)  
Antiguo 06/07/2011, 10:11
 
Fecha de Ingreso: abril-2011
Mensajes: 53
Antigüedad: 13 años
Puntos: 1
Respuesta: llamar clase?

Mira ya lo tengo claro ahora necsito es recorrer variable

Código Java:
Ver original
  1. int id = respuesta.indexOf(val) + val.length();
  2.                 String cadena = respuesta.substring(id);
  3.                 ConsultaCliente[] variable = ConsultaCliente.getClientes(cadena);
  4.  
  5.                 if (variable.length > 0) {
  6.                     Dialog.show(null, "NOTA: Se encontraron las "
  7.                             + "siguientes coincidencias", Dialog.TYPE_INFO, null, "OK", null);

Última edición por troza; 06/07/2011 a las 10:53
  #10 (permalink)  
Antiguo 07/07/2011, 05:43
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: llamar clase?

Cita:
Iniciado por troza Ver Mensaje
Mira ya lo tengo claro ahora necsito es recorrer variable
Recorrer el array es otro tema que no tiene nada que ver con este post..

Nueva duda.. nuevo post
__________________
BadProgrammerException!

Etiquetas: Ninguno
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 16:07.