Necesito llamar a métodos de clases "hija" desde su clase "padre"
¿Hay alguna manera de llamar a métodos de clases "hija" desde una clase "padre"?
Me explico. Tengo unos cuantos procesos cuya estructura de ejecución es idéntica en todos ellos. O sea, en todos ellos se llama una serie de sub-procesos en el mismo orden.
La diferencia entre esos procesos globales radica en el cuerpo de algunos de sus sub-procesos.
Para simplificar un poco el código he pensado en estructurarlo en clases, de forma que la clase "padre" dicte el orden en el que hay que llamar a cada uno de los sub-procesos, pero que sean los hijos quienes den cuerpo a dichos sub-procesos.
Lo primero que se me ha ocurrido hacer es lo siguiente. Me he declarado en el "padre" un proceso "maestro" que se encargue de llamar en el orden debido a todos los sub-procesos. También en el padre me he declarado como VIRTUAL ABSTRACT todos esos sub-procesos. Y en los hijos es donde me he ido declarando los sub-procesos sobreescribiendo los de el padre.
Yo esperaba que al llamar al proceso "maestro" del padre desde cualquiera de sus hijos, dicho proceso buscaría el cuerpo de los sub-procesos en los hijos. Pero me equivoqué. Cuando se ejecuta el proceso "maestro", éste intenta encontrar el cuerpo de los sub-procedimientos dentro del propio padre, y ahí es donde tengo el problema, porque el cuerpo lo tengo declarado en los hijos. Y como es normal me salta un "abstract error".
Sé perfectamente que lo que intento hacer es una barbaridad y que la lógica dice que desde un "padre" no se puede llamar a métodos de los "hijos". Pero es que es eso exactamente lo que necesito hacer y no se me ocurre ningún truco para conseguirlo.
¿Alguna idea?
Muchas gracias.
|