[SAP ABAP] 面向对象程序设计-构造方法
构造方法(constructor)是一类特殊的方法,在创建对象实例时,构造方法自动运行(在实例化对象时,自动完成对象的初始化)
我们可以使用METHODS CONSTRUCTOR 或者 CLASS-METHODS CLASS_CONSTRUCTOR定义构造方法
每个类只能有一个构造方法,在 CREATE OBJECT 语句中自动调用构造方法
例1
通过构造方法,创建对象实例的代码更加简洁
REPORT z437_test_2025.
CLASS book DEFINITION.
PUBLIC SECTION.
TYPES: ty_price TYPE p LENGTH 10 DECIMALS 2.
METHODS:
constructor IMPORTING title TYPE string
author TYPE string
price TYPE ty_price,
set_price IMPORTING new_price TYPE ty_price,
print_info.
PRIVATE SECTION.
DATA: title TYPE string,
author TYPE string,
price TYPE p DECIMALS 2.
ENDCLASS. " Book DEFINITION.
CLASS book IMPLEMENTATION.
METHOD constructor.
me->title = title.
me->author = author.
me->price = price.
ENDMETHOD. " constructor
METHOD set_price.
me->price = new_price.
ENDMETHOD. " set_price
METHOD print_info.
WRITE: / 'Title:', title.
WRITE: / 'Author:', author.
WRITE: / 'Price:', price.
ULINE.
ENDMETHOD. " print_info
ENDCLASS. " Book IMPLEMENTATION
START-OF-SELECTION.
" 定义变量
DATA: book1 TYPE REF TO book,
book2 TYPE REF TO book.
" 创建对象实例
CREATE OBJECT book1
EXPORTING title = 'A'
author = 'Andy'
price = '39.5'.
CREATE OBJECT book2
EXPORTING title = 'B'
author = 'Box'
price = '18.8'.
book1->print_info( ).
book2->set_price( '22.0' ).
book2->print_info( ).
输出结果:
在ABAP编程中,构造方法(constructor))名称始终为constructor