i denne vejledning lærer vi, hvordan du opretter en lokal klasse i OO ABAP. I core ABAP modulariserer vi ABAP-koden ved hjælp af funktionsmoduler og subrutiner. Vi kan også modularisere den samme kode i objektorienteret tilgang ved at oprette lokale klasser i programmet. Der er to dele involveret, mens du opretter lokale klasser, de er
- Definition
- implementering
i Definitionsdel definerer vi alle attributter og metoder med adgangsspecifikatorer(obligatorisk), og alle data og typer erklæring er defineret i Definitionsafsnittet i klassen.
vi implementerer metoderne, dvs.vi skriver abap-koden i metoderne, i Implementeringsafsnittet i klassen.
Definition
** 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.
implementering
** Class ImplementationCLASS lcl_demo IMPLEMENTATION. METHOD say_hello. WRITE : 'Hello OO ABAP. How are you?'. ENDMETHOD. "say_helloENDCLASS. "lcl_demo IMPLEMENTATION
da du er klar med Klassedefinition og Klasseimplementering, ville vores næste trin være, hvordan man kalder de attributter og metoder, der er defineret i klassen. For at få adgang til alle komponenter i klassen skal vi først instantiere klassen(eller) med andre ord skal vi oprette objekt til klassen (undtagen statiske komponenter).
for at oprette objekt til klassen bruger vi nedenstående to linjer kode.
START-OF-SELECTION.* Instantiate the Class/Create object for the class DATA: lo_demo TYPE REF TO lcl_demo. CREATE OBJECT lcl_demo.
for at få adgang til attributter og metoder til lokal klasse
lo_demo->say_hello( ). "Call Methods.lo_demo->lv_hello = 'Welcome'. "Class attributes.WRITE:/ lo_demo->lv_hello.
nu ved du hvordan Opret program og modulariser abap-koden ved hjælp af objektorienteret tilgang. Nu afhente gamle program, som er baseret på proceduremæssige paradigme og konvertere dem til objektorienterede programmer. Prøv at vedtage den objektorienterede stil i dine fremtidige programmer, du udvikler.