zoukankan      html  css  js  c++  java
  • ABAP OO 开发语法整理

    【转自 http://blog.csdn.net/saphome/article/details/6956933】

    在类中,只能用TYPE 附加关键字指定数据类型。

    •TYPES: 一般的类型定义方法

    •CONSTANTS: 一般的常数定义方法

    只能用LIKE 引用本地数据对象。

    •DATA: var1 TYPE <TYPES 定义的类型或字典类型>.

    •DATA: var2 LIKE var1 <不能使用字典对象>.

    用DATA 声明的公共属性如果加了READ-ONLY 附加 关键字,就说明它可以被外部读取,但只能用类内部 的方法修改。

    •DATA: var3 TYPE 类型READ-ONLY.

    现在只能在类声明的公共可见节(PUBLIC SECTION) 和接口定义中使用READ-ONLY 附加关键字。

    •属性和可见性

    在PRIVATE SECTION中定义私有属性,在PUBLIC SECTION 中定义公用属性

    CLASS lcl_vehicle DEFINITION.

    PUBLIC SECTION DATA: “公用属性

    make TYPE string. PRIVATE SECTION

    PRIVATE SECTION DATA:“私有属性

           Zmake TYPE string

    ENDCLASS.

       •静态属性用CLASS-DATA 关键字定义。

    在ABAP 对象中,方法可以有IMPORTING、 EXPORTING、CHANGING 和RETURNING 这几个 参数和例外参数。所有参数都可以用值或地址传输。 (在SAP R/3 BASIS 6.10 以后,不能为例外再使用 EXCEPTIONS 参数了,而代之以RAISING 附加关键 字,后面会再提到。

    可以使用RETURNING 定义方法的返回值,这里只能 定义一个参数并且只能传值,同时也不能再定义 EXPORTING 和CHANGING 参数,可以用 RETURNING 参数定义功能性的方法(后面会详细说 明)。

    – 在声明中使用OPTIONAL 和DEFAULT 附加关键字 可以把所有输入参数(IMPORTING 和CHANGING 参数)定义成可选的参数,这样当对象被调用时,相 关参数的值就不是必须传输的。如果使用了 OPTIONAL 关键字,参数根据类型获得初始值,此 外,用DEFAULT 可以指定某个开始值。

    静态方法使用CLASS-METHOD 语句来定义

    使用语句CREATE OBJECT 来实例化对象

     

     

     

    • 引用变量

    DATA: r_vehicle1 TYPE REF TO lcl_vehicle. 语句声 明了一个引用变量,做为指向对象的指针。

    • 创建对象:语法

    CREATE OBJECT 语句在主内存中创建一个对象,这 个对象的属性值或者是初始值或者由VALUE 条目指 定。

    引用变量可以互相分配。 例如上述例子中,可以再定义一个r_vehicle2,指向 与r_vehicle1 相同的对象。

     

    • 调用实例方法的语法

    ---调用实例方法用 CALL METHOD <reference>-><instance_method>

    ---在SAP R/3 Basis 6.10 之后,支持简短写法,省略 CALL METHOD。

    ---特殊情形,当从另一个实例方法中调用一个实例方法 时,可以省略实例名称,会自动执行当前对象的方法。

    ---只有一个形参时,可以省略括号中的EXPORTING 附 加关键字,而如果接口中有两个或多个参数,则所有 的实参和形参都必须一一列出。

    ---在方法返回参数给调用者时,必须使用IMPORTING 附加关键字,所有实参和形参都要列出来。

    ---在方法调用时,多个参数用空格分开。

    • 调用静态方法的语法

    ---调用静态方法用

     CALL METHOD <classname>=><class_method>

    ---静态方法用类名定位,因为它不需要实例。

    ---如果在类中调用静态方法,可以省略类名。

    • 功能性方法

    ---带有RETURNING 参数的方法被称为功能性方法,这些方法不能用EXPORTING 或CHANGING 参数,但 是有必要的话可以用多个IMPORTING 参数和例外。

    ---功能性方法可以直接在各种表达式中使用:

    • 逻辑表达式(IF、ELSEIF、WHILE、CHECK、WAIT)

    • CASE 语句(CASE、WHEN)

    • LOOP 语句

    • 数学表达式(COMPUTE)

    • 位表达式(COMPUTE)

    • MOVE 语句

  • 相关阅读:
    angular入门--绑定字符串
    mongodb安装与mongo vue的使用
    css3-pointer-events_demo
    面向对象的六大原则
    AutoMapper简明教程(学习笔记)
    jquery cookie的用法
    MVC 异常处理机制
    查询最近修改的脚本
    运行page页面时的事件执行顺序
    游标简单的使用
  • 原文地址:https://www.cnblogs.com/rainysblog/p/4141398.html
Copyright © 2011-2022 走看看