POO

27/10/2004 - 12:21 por e-lores | Informe spam
¿Como puedo hacer para obtener un objeto concreto si solo tengo su clase
base?

Me explico:

1.-Tengo una clase A y dos clases B y C que heredan de A.
2.-Tengo dos clases que implementan funciones para cada una de las clases B
y C:
GestorB.funcion1(claseB obj);
GestorC.funcion2(claseC obj);
3.-Finalmente tengo una clase D generica con una funcion
ClaseD.funcion3(claseA obj)

Necesito que esta funcion3 llame al gestor adecuado. ¿Como puedo convertir
un objeto a su clase 'primaria' si solo tengo la clase base?

Gracias.
 

Leer las respuestas

#1 A.Poblacion
27/10/2004 - 18:21 | Informe spam
void ClaseD.funcion3(claseA obj)
{
if (obj is ClaseB) GestorB.funcion1((claseB) obj);
else if (obj is ClaseC) GestorC.funcion2((claseC) obj);
}


"e-lores" wrote in message
news:
¿Como puedo hacer para obtener un objeto concreto si solo tengo su clase
base?

Me explico:

1.-Tengo una clase A y dos clases B y C que heredan de A.
2.-Tengo dos clases que implementan funciones para cada una de las clases


B
y C:
GestorB.funcion1(claseB obj);
GestorC.funcion2(claseC obj);
3.-Finalmente tengo una clase D generica con una funcion
ClaseD.funcion3(claseA obj)

Necesito que esta funcion3 llame al gestor adecuado. ¿Como puedo convertir
un objeto a su clase 'primaria' si solo tengo la clase base?

Gracias.


Preguntas similares