You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ABAP子类构造函数报错:未传入强制参数MAXSEATS问题排查

问题分析与解决方案:ABAP子类构造函数参数缺失错误

这个错误的原因非常直接:你在子类Z30082019_BMWCAR的构造函数中调用父类构造函数时,没有传入父类要求的强制参数。

父类ZMP_ACAR的构造函数明确定义了两个必填的导入参数maxSeats和maxKidSeats,当子类继承父类后,在子类构造函数执行过程中,必须显式地将这两个参数传递给父类的构造函数——父类需要这些参数来完成自身的初始化工作。你当前的代码里只是直接给子类的属性赋值,但完全忽略了父类构造函数的参数要求,这就导致了系统抛出"No value was passed to the mandatory parameter 'MAXSEATS'"的错误。

修正后的子类构造函数代码:

CLASS Z30082019_BMWCAR IMPLEMENTATION.
 METHOD CONSTRUCTOR.
  " 关键:将子类构造函数收到的参数传递给父类构造函数
  super->constructor( maxSeats = maxSeats maxKidSeats = maxKidSeats ).
  " 补充:父类构造函数已经初始化了公共属性maxSeats和maxKidSeats,子类无需重复赋值
  " me->maxSeats = maxSeats.
  " me->maxKidSeats = maxKidSeats.
 ENDMETHOD.
 METHOD goToTrip.
  ...
 ENDMETHOD.
ENDCLASS.

额外提一句:因为父类的maxSeats和maxKidSeats是公共属性,父类构造函数已经完成了它们的初始化操作,子类里不需要再重复赋值,除非你有特殊的重写逻辑需求。

内容的提问来源于stack exchange,提问作者user9254958

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:10:44