Aufruf
DATA(my_class) = NEW ZCL_MY_CLASS( ).
out->write( |A1: { my_class->get_description( ) }| ).
out->write( |A2: { my_class->zif_my_interface_1~get_description( ) }| ).
out->write( |A3: { my_class->zif_my_interface_2~get_description( ) }| ).
DATA(my_intf_1) = CAST ZIF_MY_INTERFACE_1( my_class ).
out->write( |B1: { my_intf_1->get_description( ) }| ).
DATA(my_intf_2) = CAST ZIF_MY_INTERFACE_1( my_class ).
out->write( |B2: { my_intf_2->get_description( ) }| ).
DATA(my_class_2) = CAST ZCL_MY_CLASS( my_intf_1 ).
out->write( |C1: { my_class_2->get_description( ) }| ).
Ausgabe
A1: Description aus ZCL_MY_CLASS
A2: Description aus ZIF_MY_INTERFACE_1
A3: Description aus ZIF_MY_INTERFACE_2
B1: Description aus ZIF_MY_INTERFACE_1
B2: Description aus ZIF_MY_INTERFACE_2
C1: Description aus ZCL_MY_CLASS
Klasse Definition
CLASS zcl_my_class DEFINITION PUBLIC CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES zif_my_interface_1.
INTERFACES zif_my_interface_2.
METHODS get_description RETURNING VALUE(rv_text).
ENDCLASS.
Interface 1 Definition
INTERFACE zif_my_interface_1 PUBLIC.
METHODS get_description RETURNING VALUE(rv_text).
ENDINTERFACE.
Interface 2 Definition
INTERFACE zif_my_interface_2 PUBLIC.
METHODS get_description RETURNING VALUE(rv_text).
ENDINTERFACE.
Hinweis: <target> ?= <source> für CAST möglich