1 Grammer
1.1 General Introduction.
Attributes and method is basic for abap.
Class and object is used in th abap.
The class is made up by data and function.
There are local and global class. Global class is the SE24, local is only in the programe.
1.2 Definition Keyword in the class .
Class … definiton /DATA … METHODS endclass.
Class …IMLEMEMTATION method… endmethod. endclass.
The difference from instance and static.
Instance comp Static comp
Attri data class-data / constants
Meth methods class-methods.
The difference from Public and protected and private
public protected private
Out yes No no
Self yes yes yes
Inherit yes yes no
2 Demo.
REPORT ZJGLTEST01 .
REPORT ZJGLTEST01 .
*----------------------------------------------------------------------*
* CLASS LCL_COMPT DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_COMPT DEFINITION.
PUBLIC SECTION.
DATA GV_CHAR TYPE C LENGTH 20 VALUE 'CHAR 变量'.
METHODS WRITE_CHAR.
CLASS-METHODS WRITE_STATIC.
PROTECTED SECTION.
class-data gv_super type c LENGTH 20 VALUE 'SUPER CLASS'.
PRIVATE SECTION.
CLASS-DATA GV_STATIC TYPE C LENGTH 20 VALUE 'Static attibute'.
ENDCLASS. "LCL_COMPT DEFINITION
*----------------------------------------------------------------------*
* CLASS LCL_COMPT IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_COMPT IMPLEMENTATION.
METHOD WRITE_STATIC.
WRITE: GV_STATIC.
ENDMETHOD. "write_static
METHOD WRITE_CHAR.
WRITE :/ GV_CHAR .
ENDMETHOD. "WRITE_CHAR
ENDCLASS. "LCL_COMPT IMPLEMENTATION
class lcl_sub DEFINITION INHERITING FROM lcl_compt.
PUBLIC SECTION.
methods write_super.
ENDCLASS.
class lcl_sub IMPLEMENTATION.
METHOD write_super.
write:'public section',gv_char.
write: 'protect section',gv_super.
* write: 'private section' ,gv_static.
ENDMETHOD.
ENDCLASS.
DATA: LCT_OBJECT TYPE REF TO LCL_COMPT.
DATA: LCL_OBJECT_2 TYPE REF TO LCL_COMPT.
START-OF-SELECTION.
CREATE OBJECT LCT_OBJECT.
WRITE: LCT_OBJECT->GV_CHAR.
CALL METHOD LCT_OBJECT->WRITE_CHAR.
CREATE OBJECT LCL_OBJECT_2.
LCL_OBJECT_2->GV_CHAR = '更换CHAR的值'.
CALL METHOD LCL_OBJECT_2->WRITE_CHAR.
SKIP.
* WRITE: LCL_COMPT=>GV_STATIC.
SKIP.
CALL METHOD LCL_COMPT=>WRITE_STATIC.