代码之家  ›  专栏  ›  技术社区  ›  Ulrich Scholz

ABAP调用方法:“静态”和“动态”的含义

  •  2
  • Ulrich Scholz  · 技术社区  · 6 年前

    我对ABAP中术语“static”和“dynamic”w.r.t.CALL方法的含义有点困惑。

    一方面,static指的是类的组件,这些组件可以在没有实例的情况下访问。动态是指在运行时通过字段内容进行访问。

    所以, (class)=>(meth) 是对静态方法的动态调用?!

    那么逆项是什么呢?

    1 回复  |  直到 6 年前
        1
  •  7
  •   József Szikszai    6 年前

    静态有两种含义: static instance . 在后一种情况下,类的实例必须存在,才能调用类的实例方法或访问和实例属性。语法不同:

    调用实例方法: oref->method

    调用静态方法: class=>method

    与属性类似:

    静态: class=>attribute

    oref->attribute

    另一方面,方法的调用可以是 dynamic

    方法的静态调用: (1) (或 等级=>方法 (2) )

    方法的动态调用: oref->(method) class=>(method) (4) )

    (1) 实例方法的静态调用

    (3) instace方法的动态调用

    (4) 静态方法的动态调用