ABAP OO的使用

    目前,市面上所有的高级语言(java,net,php)都是支持OO的,ABAP也不甘落后,在abap4.0中加入了对OO的支持。OO的好处哥就不细说了,google上有的是,哥这里主要细说abap中OO的语法。
   1、类声明及实现
    ABAP中使用CLASS/ENDCLASS语句进行类定义,具由声明部分和具体实现部分组成。类声明中包含类成员(具体包括类的属性、方法和事件)的名称及说明。类的实现则包含类主法的实现代码。
    CLASS class DEFINITON.
         PUBLIC SECTION.
           .....
        
        PROTECTED SECTION.
           ........
 
       PRIVATE SECTION.
           ..........
    ENDCLASS.

   CLASS class IMPLEMENTATION.

        METHOD .

              ......

      ENDMETHOD.

  ENDCLASS.

    2、类成员访问级别

      类的各个成员都必须在DEFINITION部分进行声明。共有三种可见性,分别是公有、保护和私有。

     公有部分(PUBLIC SECTION)中定义的类成员可以被所有对象使用,包括类方法及其派生类。

     保护部分(PROTECTED SECTION)中定义的类成员只能被类及其派生类中的方法使用,外部不可见,这些组件连同公有组件构成了类和派生类对象之间的接口。

      私有部分(PRIVATE SECTION)中定义的类成员则只能被类本身的方法所使用。

 

      3、成员类型

       ABAP类中可以定义三种不同类型的成员,分别是属性、方法、事件。根据生命周期不同,有实例成员和静态成员的分别,实例成员仅属于一个物定的类实例,而静态成员则属于整个类。

      属性:是类内部的数据对象,用于描绘类的状态。实例属性,使用DATA语句定义,语法与数据对象声明相同,静态属性,则使用CLASS-DATA语句进行定义。

CLASS vehicle DEFINITION.

   PUBLIC SECTION.

        CLASS-DATA class_name(10) TYPE c VALUE 'Vehicle'.

   PROTECTED SECION.

       DATA speed TYPE i.

ENDCLASS.

       方法是对象行为的实现部分,可以将其视为类中的过程。在方法中,可以定义内部数据。实例方法只能访问该对象实例中的所有属性和事件,而静态方法则只能访问类的静态属性和事件。

      METHODS申明的是实例方法,CLASS-METHODS申有的是静态方法。

     3、程序中的类实例

    1)定义类的声明与实现方法;

    2)使用DATA语句中的TYPE REF TO选项参照类型声明引用变量;

    3)使用CREATE OBJECT语句创建对象;

    4)通过"->"或"=>"运算符访问对象或类组件。

 

    DATA  o_vehicle TYPE REF TO vehicle.

   CREATE OBJECT o_vehicle.

   在某些情况下,对象本身需要知道自身的地址(比如一个对象希望将自己传递给其他对象),可以使用局部引用变量ME,该变量隐式地存在于所有的实例方法中,当方法被调用时,该变量将包含自身的地址指针,这种用法称为对象的自身引用。

 

   

 

 

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23353800/viewspace-731287/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23353800/viewspace-731287/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值