ABAP中本地接口的相互参考是不可能的?

时间:2017-04-21 20:32:23

标签: oop interface abap

我试图基于ABAP中的接口实现一个版本的观察者模式。我有以下两个接口:

REPORT z_observer.

INTERFACE observer.
  METHODS:
    update IMPORTING VALUE(sub) TYPE subject.
ENDINTERFACE.

INTERFACE subject.
  METHODS:
    register_observer IMPORTING VALUE(obs) TYPE REF TO observer,
    remove_observer IMPORTING VALUE(obs) TYPE REF TO observer,
    notify_observer.
ENDINTERFACE.

根据声明的顺序,这不会编译出subjectobject未知的错误消息。它可以在ABAP中具有相互引用(本地)类/接口。我错过了重要的事吗?

非常感谢提前!

1 个答案:

答案 0 :(得分:4)

将其放在观察者定义之前:

INTERFACE subject DEFERRED.

(参见documentation