abap 构造方法是由运行时环境自动调用的,一般用于初始化操作,不能在程序中由程序调用,系统通常会生成一个默认的构造方法。构造方法不包含任何形式的输出参数,abap有实例构造方法和类构造方法两种;
.1:实例构造方法在实例化,该方法在每一次创建对象的时候调用,该方法与一般的方法有两点不同,一是有预定义的名字CONSTRTCTOR;二是该方法必须在公有部分进行声明。
.2:类构造方法只在类第一次被加载到程序中调用,如果有多次实例化类也只调用一次类构造方法,类构造方法有一个固定的名字:CLASS_CONSTRUCTOR.在类构造方法中只能访问类的静态属性。
实例构造方法和类构造方法都必须在PUBLIC SECTION中,且都需要在DEFINITION中声明,IMPLEMENTATION实现。
*&---------------------------------------------------------------------*
*& Report ZTCXHTEST_CONSTRUCTOR
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTCXHTEST_CONSTRUCTOR.
*----------------------------------------------------------------------*
* CLASS vehicle DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS vehicle DEFINITION.
PUBLIC SECTION.
METHODS: show_speed,
constructor IMPORTING i_speed TYPE i,
accelerate IMPORTING rate TYPE i.
PRIVATE SECTION.
DATA: speed TYPE i VALUE 0.
ENDCLASS. "vehicle DEFINITION
*----------------------------------------------------------------------*
* CLASS vehicle IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS vehicle IMPLEMENTATION.
METHOD show_speed.
WRITE: / 'speed', speed.
ENDMETHOD. "show_speed
METHOD accelerate.
speed = speed + rate.
ENDMETHOD. "accelerate
METHOD constructor.
speed = i_speed.
ENDMETHOD. "constructor
ENDCLASS. "vehicle IMPLEMENTATION
DATA o_vehicle TYPE REF TO vehicle.
START-OF-SELECTION.
CREATE OBJECT o_vehicle EXPORTING i_speed = 4.
CALL METHOD o_vehicle->accelerate EXPORTING rate = 2.
CALL METHOD o_vehicle->accelerate EXPORTING rate = 2.
CALL METHOD o_vehicle->show_speed.
abap class 构造器
猜你喜欢
转载自caoxuhuan.iteye.com/blog/923675
今日推荐
周排行