我正在创建一个从具有受保护实例化的父类继承的类。超类有一个提供类实例的静态方法。
以下代码导致运行时错误MOVE_CAST_ERROR
:
data: o_child type ref to zchild.
o_child ?= zparent=>provide_instance( ).
我也试过:
data: o_parent type ref to zparent,
o_child type ref to zchild.
o_parent = zparent=>provide_instance( ).
o_child ?= o_parent.
我过去曾成功地对其他对象类型进行了向下转换 - 有没有人知道在 ZPARENT 或 ZCHILD 中寻找什么可能会使这两个类不兼容?
目前ZCHILD只有一个额外的方法,如果添加到超类中会破坏类的抽象,所以我不太热衷于这样做。