Class ABAP调用方法';静态';和';动态';

Class ABAP调用方法';静态';和';动态';,class,abap,Class,Abap,我对ABAP中术语“静态”和“动态”w.r.t.调用方法的含义有点困惑 一方面,static指的是一个类的组件,它可以在没有实例的情况下访问。动态是指在运行时通过字段内容进行访问 所以,(class)=>(meth)将是对静态方法的动态调用 那么什么是反项呢 is:(meth\u name)meth\u name需要一个类似字符的字段,该字段在执行语句时必须包含方法的名称。因此,oref->meth是一个 可以使用名称class=>comp访问类的comp。在这里,组件可以是方法 静态有两种含

我对ABAP中术语“静态”和“动态”w.r.t.调用方法的含义有点困惑

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

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

那么什么是反项呢

  • is:
    (meth\u name)
    meth\u name需要一个类似字符的字段,该字段在执行语句时必须包含方法的名称。因此,
    oref->meth
    是一个

  • 可以使用名称
    class=>comp
    访问类的comp。在这里,组件可以是方法

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

      调用实例方法:
      oref->method

      调用静态方法:
      class=>method

      与属性类似:

      静态:
      class=>attribute

      实例:
      oref->attribute

      另一方面,方法的调用可以是
      静态
      动态

      方法的静态调用:
      oref->method
      (1)(或
      class=>method
      (2))

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

      确切地说:

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

      (2) 静态方法的静态调用

      (3) Instance方法的动态调用


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

      我认为您理解得很好;我不会使用术语“静态方法调用”,因为它是不明确的;这是一个静态方法调用,还是一个静态方法调用:)(这是一个备注,不是一个问题);如果您对语义学感兴趣,并且想让静态与动态的讨论变得复杂,那么什么是a与a,什么是“静态数据对象”?:)有一个简单的语义区别:方法的静态调用和静态方法。很简单。我就是这么想的,谢谢。不幸的是,当ABAP非专家使用不精确的语言时,术语重载很容易出错