ABAP OO 面向对象 基础

文章介绍了ABAP语言中面向对象编程的基本概念,包括封装、抽象和多态,并详细阐述了类的结构,如作用域、属性、方法、接口、事件等。通过一个创建Person类的例子,展示了如何定义和使用类的方法及属性。

面向对象的三大特征

1.封装:重复的代码打包起来一起用

2.抽象:原子性组合

3.多态:多样性,同样的方法不同的实现

ABAP的面向对象主要由几种元素组成。

1.作用范围(全局类SE24,本地类LCL(Local Class))

2.属性(静态属性,实例属性)及其作用范围(Public Protected Private)

3.方法(静态方法,实例方法)及其作用范围(Public Protected Private)

4.接口 完成一些事情的高度抽象

5.友元 (暂时用的较少)

6.事件 某些指定的操作可以作为事件,触发事件时要做什么(ASOP)

7.类型 (暂时用的较少)

8.别名 (暂时用的较少)

第一个类程序

如果你有过Java或者别的基础会比较好理解一点。类的静态方法是在类上的,实例只是一段带有实例数据指向类的数据。执行静态方法和改变静态属性的时候会找到类的内存地址再使用静态方法,调用对应的属性。静态属性在一次载入的时候是通用的(即一个Gui窗口加载一个类,在此GUI窗口同一个类的静态属性共享)。写起来好像有些复杂,不妨用一个例子来说明。

*定义类
CLASS ZCL_PERSON DEFINITION
*定义公开的构造器(单例模式可不公开)
  CREATE PUBLIC .

*Public的属性或者方法
  PUBLIC SECTION.
    DATA MV_NAME TYPE CHAR10.
    DATA MV_ID TYPE CHAR15.

*Public的构造器
    METHODS CONSTRUCTOR
      IMPORTING
        VALUE(ID) TYPE CHAR15 OPTIONAL .
  PROTECTED SECTION.
  PRIVATE SECTION.
ENDCLASS.

*类方法的具体实现
CLASS ZCL_PERSON IMPLEMENTATION.
  METHOD CONSTRUCTOR.
    MV_ID = ID.
  ENDMETHOD.
ENDCLASS.

*事件执行
START-OF-SELECTION.
  DATA ZCL_PERSON TYPE REF TO ZCL_PERSON.
  ZCL_PERSON = NEW #( ID = '1').
  WRITE ZCL_PERSON->MV_ID.

这是一个有ID和Name的Person类,通过构造器可以创建一个具有ID和空姓名的实例对象。本例是创建了一个ID为1但没有名字的实例对象,write时显示为1。那这个对象有什么实际作用呢,相当于一个物料挂着一个物料号及其物料描述,这就把Person的概念转化过来了。

未完待续。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值