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

Qué es el casting en java

Estas en el tema de Qué es el casting en java en el foro de Java en Foros del Web. Eso, qué es, cómo se usa y para que me sirve el concepto de casting ?? Grax compas....
  #1 (permalink)  
Antiguo 21/01/2007, 09:16
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 19 años
Puntos: 1
Qué es el casting en java

Eso, qué es, cómo se usa y para que me sirve el concepto de casting ??


Grax compas.
  #2 (permalink)  
Antiguo 21/01/2007, 15:07
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Re: Qué es el casting en java

Hola:

El casting es convertir un objeto de un tipo en otro. Un ejemplo claro. Imagina que tienes tres clases A, B y C. Puedes meterlas en un array de Object asi

Object [] array = new Object[3];
array[0] = new A();
array[1] = new B();
array[2] = new C();

Si ahora quieres usarlos, resulta que los tienes como array[i], que son Object, y no puedes llamar a métodos específicos de las clases A, B y C. La forma de recuperar las clases originales es con un cast

((A)array[0]).metodoDeA();

Se pone el tipo A delante, entre paréntesis.

Obviamente no puedes convertir cualquier tipo a cualquier tipo. Si intentas convertir array[0] a B, te dará error, salvo que A herede de B.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 06/05/2014, 10:51
 
Fecha de Ingreso: mayo-2014
Mensajes: 10
Antigüedad: 9 años, 11 meses
Puntos: 0
Información Respuesta: Qué es el casting en java

Bueno el amigo chuidiang, lo ha dicho bastante bien, pero creo necesario dar algún matiz a la respuesta.

En mi entender los objetos no se cambian de tipo, lo que se cambia de tipo es a la variable de instancia que apunta al objeto. El objeto en si es de un tipo y ya.

En mi caso particular le tengo un nombre en Español que me agrada mucho cast = promoción. así lo lei en alguna traducción. Tendría por significado la promoción de una variable de un tipo a otro tipo, es decir el cambio.

La promoción entre tipos se da de forma automática o implícita cuando se asigna, por ejemplo,
un entero o variable de tipo entero a una variable de tipo double.

int a=5;
double b;
b=a;
a es igual 5 y b es igual a 5.0

también es licito escribir, haciendo uso del casting

System.out.println((double)a);

que dará como resultado: 5.0

Por otro lado existen downcasting y upcasting, o en español se leeria algo así como
promocionado hacia arriba y promocionado hacia abajo. debes ahondar mas en el tema.
  #4 (permalink)  
Antiguo 07/05/2014, 02:38
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Qué es el casting en java

Dios mio, sigo diciendo que deberían bloquear los mensajes con más de 6 meses para que no se puedan volver a responder. A estas alturas si under_ground sigue en el mundillo ya debe ser todo un experto :D
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #5 (permalink)  
Antiguo 07/05/2014, 16:32
 
Fecha de Ingreso: mayo-2014
Mensajes: 10
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: Qué es el casting en java

under_ground no será la única persona que tendrá la misma pregunta.
  #6 (permalink)  
Antiguo 08/05/2014, 01:57
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Qué es el casting en java

La norma no escrita de este foro es no responder mensajes con más de 6 meses de antigüedad. En todo caso habría que crear un nuevo post.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #7 (permalink)  
Antiguo 08/05/2014, 02:21
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Qué es el casting en java

Yo no diría no escrita, hay un cartel enorme en rojo que dice que no deberías reflotar esos hilos.

Cita:
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.
__________________
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.
  #8 (permalink)  
Antiguo 09/05/2014, 02:56
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Qué es el casting en java

ya sabes que soy algo ceGATO :D
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
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 21:45.