字段符号(FIELD SYMBOLS)和 结构体继承INCLUDE STRUCTURE

一.

字段符号(FIELD SYMBOLS)不是直接对变量赋值,而是通过指针给变量分配源字段的内存地址。指针对象通过语名FIELD-SYMBOLS加上尖括号“<>”来定义,用语句ASSIGN来分配数值。

        FOR EXAMPLE:

        DATA:number TYPE I VALUE 12.
        FIELD-SYMBOLS:<f1>,
                     <f2> TYPE I,
                       <f3> LIKE number.

    ASSIGN:number TO <f1>,
       number TO <f2>,
       number TO <f3>.

      WRITE: / 'f1 is',<f1>,
           / 'f2 is',<f2>,
           / 'f3 is',<f3>.
  <f1> = 36. "重新赋值
     WRITE: / 'f1 is',<f1>,
           / 'f2 is',<f2>,
           / 'f3 is',<f3>.

      “输出:f1 is 12
                f2 is 12
                f3 is 12
                f1 is 32
                f2 is 32
                f3 is 32

      上例中,将number的地址同时分配给了<f1>、<f2>、<f3>三个指针,的怪三个指针对应的值都为12,当通过运算符”=“重新给<f1>赋值时,实际是修改了其对应地址number的值,所以三个指针对应的值都变成了32。

二.

ABAP中结构的继承功能,通过参照某个已存在的结构体来创建一个属性相同的新结构体,并且可以在新建的结构体中按实际需求增加字段。定义结构体继承的具体语句为:INCLUDE STRUCTURE。参照上文中的UISERINFO结构来新建继承新的结构。

        DATA:BEGIN OF STAFFINFO. <此处是.操作符>

                 INCLUDE STRUCTURE USERINFO.

        DATA:BIRTHDAY TYPE D,

                 ADDRESS(50) TYPE C,

        END OF STAFFINFO.

        这样就完成了继承关系。

        STAFFINFO-SID = 'SKY001'.

        STAFFINFO-NAME = 'SKY'.

        STAFFINFO-TEL = '010XXX'.

        STAFFINFO-BIRTHDAY = '2012-03-11'.

        STAFFINFO-ADDRESS = 'BEIJING'.

        WRITE:STAFFINFO-SID,STAFFINFO-NAME,STAFFINFO-TEL,STAFFINFO-BIRTHDAY,STAFFINFO-ADDRESS.

        *输出结果:SKY001    SKY    010XXX   2012-03-11  BEIJING.

        与变量的定义类似,结构体的初始化通过语句CLEAR来实现.

        总结:

        用DATA关键字定义的结构可以实现继承关系,而TYPES关键字定义的结构则不可以实现,在实际的编码过程中还是按具体要求做取舍。


      

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值