v tomto tutoriálu se naučíme, jak vytvořit místní třídu v oo ABAP. V core ABAP modularizujeme kód ABAP pomocí funkčních modulů a podprogramů. Můžeme také modularizovat stejný kód v objektově orientovaném přístupu vytvořením lokálních tříd v programu. Při vytváření lokálních tříd jsou zapojeny dvě části, jsou to
- definice
- implementace
v definiční části definujeme všechny atributy a metody s přístupovými specifikátory(povinné) a všechna deklarace dat a typů jsou definována v definiční části třídy.
implementujeme metody, tj. kód abap zapíšeme do metod, v implementační části třídy.
definice
** Class DefinitionCLASS lcl_demo DEFINITION. PUBLIC SECTION. "<< Access Specifier* TYPE Declarations TYPES: BEGIN OF lty_hello, name TYPE char10, age TYPE char10, vbeln TYPE vbeln, END OF lty_hello.* DATA Declarations DATA: lv_hello TYPE string, lt_hello TYPE STANDARD TABLE OF lty_hello, ls_hello TYPE lty_hello.* METHOD Definitions METHODS: say_hello.ENDCLASS.
implementace
** Class ImplementationCLASS lcl_demo IMPLEMENTATION. METHOD say_hello. WRITE : 'Hello OO ABAP. How are you?'. ENDMETHOD. "say_helloENDCLASS. "lcl_demo IMPLEMENTATION
jak jste připraveni s definicí třídy a implementací třídy, naším dalším krokem by bylo volání atributů a metod, které jsou definovány ve třídě. Pro přístup ke všem komponentám třídy nejprve musíme vytvořit instanci třídy (nebo) jinými slovy musíme vytvořit objekt pro třídu (s výjimkou statických komponent).
pro vytvoření objektu pro třídu používáme níže uvedené dva řádky kódu.
START-OF-SELECTION.* Instantiate the Class/Create object for the class DATA: lo_demo TYPE REF TO lcl_demo. CREATE OBJECT lcl_demo.
pro přístup k atributům a metodám místní třídy
lo_demo->say_hello( ). "Call Methods.lo_demo->lv_hello = 'Welcome'. "Class attributes.WRITE:/ lo_demo->lv_hello.
nyní víte, jak vytvořit program a modularizovat kód abap pomocí objektově orientovaného přístupu. Nyní vyzvednout starý program, které jsou založeny na procedurální paradigma a převést je do objektově orientovaných programů. Pokuste se přijmout objektově orientovaný styl ve svých budoucích programech, které vyvíjíte.