Je crée une classe qui hérite d'une classe parente avec une instanciation protégée. La super classe a une méthode statique qui fournit une instance de la classe.Quelles sont les causes de MOVE_CAST_ERROR lors de la conversion d'un objet de référence dans ABAP?
Le code suivant provoque une erreur d'exécution MOVE_CAST_ERROR
:
data: o_child type ref to zchild.
o_child ?= zparent=>provide_instance().
J'ai aussi essayé:
data: o_parent type ref to zparent,
o_child type ref to zchild.
o_parent = zparent=>provide_instance().
o_child ?= o_parent.
J'ai avec succès vers le bas-casted avec d'autres types d'objets dans le passé - ce que quelqu'un avoir une idée de ce qu'il faut rechercher dans ZPARENT ou ZCHILD qui peut rendre les deux classes incompatibles?
Actuellement, ZCHILD ne dispose que d'une méthode supplémentaire qui, si elle était ajoutée à la super classe, briserait l'abstraction de la classe, donc je ne suis pas très désireux de le faire.
Merci - dans ce cas, l'enfant avait une méthode supplémentaire (je ne me souviens pas si il y avait de nouveaux attributs.) Je vais devoir me le prouver un jour, mais pour l'instant je vais accepter votre mot :RÉ – Esti