--- En imasd@yahoogroups.com, "Carlos Grima" <trabajo@...> escribió:
>
> Pues ni idea, pero a mí también me gustaría conocer la respuesta,
pues éste
> es un problema que me ha surgido en alguna ocasión.
>
> Un saludo.
>
Buenas.
A lo mejor digo una tontería, o quizás no he comprendido bien el
problema, pero a priori yo tendría un método en la clase base
abstracta que se llamase getMiTipoOComoSeLlameEsto() que devuelva el
tipo, encapsulado como un entero o como prefieras.
A partir de aquí, quizá bastaría con sobreescribir este método en cada
una de las clases y point. Y mucho más elegante sería obligar a cada
una de tus clases, haciendo que la clase base abstracta implemente un
interfaz, supongamos que se llama
IEnsenameLosPapelesUTeAbroLaCabezaConLaDefensa que contenga el método
antes dicho. Así todas las clases hijas concretas tendrán la
obligación de implementallo e ir enseñando el DNI por la vida.
Definitivamente, usa un método, ya que si en un futuro quieres hacer
cosas "raras" (por ejemplo, comprobar un valor y hacer que una clase
se comporte como dos, o tres distintas, en función de un valor) con el
método puedes. Esta idea tan rara es tela de antigua: son los
registros variantes de PASCAL, que permitían tener diferente
estructura en función del valor de uno de sus campos.
He dicho y espero que no sean muchas tonterías,
Un saludo