*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_12
*&
*&---------------------------------------------------------------------*
*&类的多态与重载
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_12.
*定义一个基类
CLASS base DEFINITION.
PUBLIC SECTION.
DATA: para(30) TYPE c VALUE 'HELLO SEVEN'.
METHODS: write_first.
ENDCLASS.
*定义一个派生类
CLASS subbase DEFINITION INHERITING FROM base.
PUBLIC SECTION.
METHODS: write_first REDEFINITION. "定义重载方法
METHODS: write_second.
ENDCLASS.
*基类实现
CLASS base IMPLEMENTATION.
METHOD write_first.
WRITE: / para.
ENDMETHOD.
ENDCLASS.
*派生类实现
CLASS subbase IMPLEMENTATION.
METHOD write_first. "重载基类的write_first方法
CALL METHOD super->write_first. "调用基类的方法
ENDMETHOD.
METHOD write_second.
WRITE: / 'SUB-SECOND'.
para = 'the redefinition method'.
CALL METHOD me->write_first.
ENDMETHOD.
ENDCLASS.
*调用
DATA: sub_obj TYPE REF TO subbase.
START-OF-SELECTION.
CREATE OBJECT sub_obj.
CALL METHOD: sub_obj->write_first,
sub_obj->write_second.