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

Un poco de teoria, class abstract

Estas en el tema de Un poco de teoria, class abstract en el foro de Java en Foros del Web. Buenos dias!! Estoy revisando unos codigos en java y he encontrado una cosa que me deja uno poco desconcertado su uso, espero que alguien pueda ...
  #1 (permalink)  
Antiguo 25/10/2011, 01:27
 
Fecha de Ingreso: septiembre-2007
Mensajes: 152
Antigüedad: 17 años, 2 meses
Puntos: 1
Un poco de teoria, class abstract

Buenos dias!!

Estoy revisando unos codigos en java y he
encontrado una cosa que me deja uno poco
desconcertado su uso, espero que alguien
pueda ayudarme:

Hay una clase declarada como abstract la cual
tiene unos atributos y sus respectivos getters
y setters.

Luego en otra clase diferente hace algo como:

(En la siguiente linea la clase Informe es abstract)

Informe paginaInforme = null;

EnumPaginasIS pagina = EnumPaginasIS.getEnum(idPagina);
paginaInforme = (Informe) pagina.getPaginaInforme(datosEntrada);


Es decir parece que declara una clase abstracta
pero no le pone el new ... Y como de una clase
abstracta no se puede hacer una instancia pues
no entiendo su uso.

Luego también me dado cuenta que la usa como de
casting para obtener unos datos.

Alguien sabe el uso que esto puede llegar a tener?
Para que se puede utilizar?


Muchas gracias por el tiempo dedicado.
Saludos.
  #2 (permalink)  
Antiguo 25/10/2011, 02:00
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 16 años, 2 meses
Puntos: 188
Respuesta: Un poco de teoria, class abstract

Exactamente es eso, la clase abstracta no se puede instanciar utilizando new, sino con un casting desde una clase hija que implemente esos métodos abstractos.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 25/10/2011, 02:02
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años, 6 meses
Puntos: 306
Respuesta: Un poco de teoria, class abstract

Si revisas el método getPaginaInforme() verás que no devuelve una clase Informe, sino una clase que hereda de Informe.

Revisa el polimorfismo, es un concepto básico y muy útil

http://proiektutaldea.wordpress.com/...s-and-classes/
__________________
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.

Etiquetas: abstract, class, poco, teoria
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 08:46.