1. 类声明及实现
ABAP使用CLASS语句进行定义,且由声明部分和具体实现部分组成。类声明部分中包含类成员的名称及说明。类的实现部分则包括具体的类方法的实现代码,以完成具体功能。
2. 成员可见性
类的各个成员必须在DEFINITION部分进行声明,在此之前,需要确定该组件的可见性。成员的可见性应基于封装原则确定:对于面向对象中的类来说,其外部接口应该是易于接受而基本稳定的,所以在一个类的所有成员中,应只有一部分是可以被外部元素获得并操作的;而另外一部分内容则被封装在类的内部,没有接口功能,只供类自身使用。
在ABAP对象中,共有三种可见性,分别是共有的、保护的和私有的,分别对应三个代码部分。
3. 成员类型
ABAP类中可以定义三种不同类型的成员,分别是属性、方法和事件。各成员的可见性以及生存周期在类定义时的同事被确定。
类定义例子:
REPORT _zclass_defination.
*---------------------------------------------------------------------*
* CLASS vehicle DEFINITION
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
CLASS vehicle DEFINITION. "类声明
PUBLIC SECTION.
CLASS-DATA class_name(10) TYPE c VALUE 'Vehicle'. "类属性
METHODS: accelerate, "类方法
show_speed.
PROTECTED SECTION.
DATA speed TYPE i.
ENDCLASS.
*---------------------------------------------------------------------*
* CLASS vehicle IMPLEMENTATION
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
CLASS vehicle IMPLEMENTATION. "类实现
METHOD accelerate.
speed = speed + 1.
ENDMETHOD.
METHOD show_speed.
WRITE: / 'Speed:',speed.
ENDMETHOD.
ENDCLASS.
该类通过方法修改类属性,并且实现对类属性的输出,这是一个典型的类封装的实现。