Object Oriented SAP ABAP – Objects and Classes

ebben az oktatóanyagban megismerjük az egyik alapelvet, amelyre az ABAP épül – objektumorientált programozás.

megtudjuk, mit jelent az OOP, és mit jelent az SAP ABAP világában.

mi az OOP?

  • az objektumorientált programozás a feladatokat olyan objektumokra bontja, amelyek rendelkeznek adatokkal és funkcióval.
  • ez a módszer érthetővé, rugalmasabbá és újrafelhasználhatóvá teszi a szoftverprogramozást.
  • az Object-Oriented Programing (OOP) az egyszerűséget és az ékesszólást szem előtt tartva jött létre.
  • lehetővé teszi az emberek számára, hogy világosan kommunikáljanak, információt és ötleteket cseréljenek egy közös nyelven – a tárgyak nyelvén.
  • ezek az objektumok két fő jellemzőikből állnak – tulajdonságok (adatok) és viselkedés (vagy funkciók)

az OOP fő jellemzői a következők–

  1. adat absztrakció
  2. kapszulázás
  3. az adatok hangsúlyozása az eljárás helyett
  4. objektumnak nevezett valós entitások használata
  5. Adatvédelem és adatvédelem

Legyen naprakész a legújabb technológiai trendekkel
csatlakozzon a DataFlair-hez a Telegramon!!

POP vs OOP

az Eljárásorientált programozás (Pop) felülről lefelé irányuló módszerrel közelíti meg a problémákat. Hangsúlyozza eljárás helyett adatok lineáris módon.

nézzünk néhány különbséget a POP és az OOP között–

POP OOP
a POP az eljárás-orientált programozást jelenti az OOP az objektum-orientált programozást jelenti
az eljárásra (feladatok elvégzésére) összpontosít, nem pedig az adatokra (feladatok) az adatokra/feladatokra összpontosít, nem pedig az eljárásra
POP következik felülről lefelé divat problémamegoldás OOP következik alulról felfelé divat problémamegoldás
a programot kisebb részekre osztja funkciók vagy modulok a programot kisebb részekre osztja, amelyeket objektumoknak neveznek
funkciók globális adatok megosztása és az adatok nem rejthetők el egymás elől a funkciók nem osztanak meg globális adatokat – eldöntheti, hogy ki férhet hozzá az adataihoz
nincs nagy hangsúly az adatvédelemre az OOP egyik fő fókuszpontja az adatvédelem
a funkcionalitás kiterjesztése és az adatok hozzáadása unalmas és időigényes nagyon egyszerű a funkcionalitás kiterjesztése és új adatok hozzáadása, egyszerűen új objektumok hozzáadása
az öröklés, a polimorfizmus, a kapszulázás fogalmait nem használják az öröklés, a polimorfizmus, a kapszulázás fogalmai képezik az OOP alapját
pl. C, Pascal, FORTRAN pl. Java, Python, C++

OOP az ABAP-ban

  • kezdetben az SAP POP nyelvként fejlesztette ki az ABAP-ot.
  • az idő előrehaladtával azonban eltolták és átalakították egy OOP nyelvre
  • ezért az ABAP most az objektumorientáció és a paradigmák tételeit követi, mint az objektumok.
  • az OOP részeként az ABAP az öröklés, a túlterhelés, az adatok elrejtése stb. a jobb funkcionalitás érdekében.

kezdjük az OOP néhány alapvető fogalmának megértésével

alapvető kifejezések ismerete

kifejezés jelentése
objektum valós entitás, amely adatokkal és viselkedéssel rendelkezik
Class objektumok komplex gyűjteménye, amely főként adatmezőket és az adatokra vonatkozó jellemzőket tartalmaz
módszer egy objektum viselkedése, pl. az objektum által végrehajtott funkciómodulok
Tag vagy egy osztály adattagja vagy tagfüggvénye
példány az objektum szinonimája, általában egy osztály példányaként használják’
példányosítás egy osztály új objektumának létrehozása

objects in SAP ABAP

  • az objektum egy valós entitás, amely adatokat és viselkedést tartalmaz.
  • ezek a jellemzők és viselkedés határozza meg az objektum állapotát és az objektum által végrehajtandó műveleteket.
  • egy objektum, amint azt korábban említettük, egy osztály tervrajza vagy példánya.
  • pl. egy alkalmazott, egy könyv, egy almafa – mind tárgyak.

objektum létrehozása az ABAP-ban

nézzük meg, hogyan lehet objektumot létrehozni az ABAP –ban –

szintaxis:

DATA: <object_name> TYPE REF TO <class_name>. "Create reference variable CREATE Object: <object_name>. #Create object from ref. var.

példa:

DATA: dataflairobject TYPE REF TO dataflairclass. CREATE Object: dataflairobject.

jelentés példa:

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS ClassDataFlair Definition.Public Section.DATA: dataflairtext(45) VALUE 'Data Flair OOPS tutorial in ABAP: data.'.METHODS: DataFlairMethod.ENDCLASS.CLASS ClassDataFlair Implementation.METHOD DataFlairMethod.Write:/ 'Data Flair OOPS tutorial in ABAP: method.'.ENDMETHOD.ENDCLASS.START-OF-SELECTION.DATA: ClassDataFlair TYPE REF TO ClassDataFlair.CREATE Object: ClassDataFlair.Write:/ ClassDataFlair->dataflairtext.CALL METHOD: ClassDataFlair->DataFlairMethod.

kimenet

Data Flair Hoppá bemutató ABAP: adatok.
Data Flair Hoppá bemutató ABAP: módszer.

osztályok az SAP ABAP-ban

  • A osztály objektumok összetett gyűjteménye
  • adatokat tartalmaz tagok (jellemzők) és tag metódusok (függvények) együtt csomagolva egyetlen entitásba, amelyet objektumnak hívnak
  • az osztályok az objektumok létrehozása és meghatározása
  • definiálunk és deklarálunk függvénymodulokat is egy osztályban
  • leírhatjuk egy osztály magánéletét
  • ez azt jelenti, hogy meghatározhatjuk, hogy ki férhet hozzá egy osztály bizonyos adataihoz

osztály létrehozása az ABAP-ban

osztály létrehozása az ABAP-ban két lépések –

1. Deklaráció

Szintaxis–

CLASS <class_name> DEFINITION.//define classENDCLASS.

Példa–

CLASS dataflairclass DEFINITION.//define classENDCLASS.

2. Meghatározás

szintaxis–

CLASS <class_name> IMPLEMENTATION.//define classENDCLASS.

példa–

CLASS dataflairclass IMPLEMENTATION.//define classENDCLASS.

az SAP ABAP attribútumai

  • az attribútumok az osztály jellemzői
  • bármilyen előre meghatározott adattípusuk lehet, például P, F, I stb.
  • meg kell állapítania attribútumok osztály deklaráció szakasz
  • attribútumok két típusa van:
    • példány: ez magában foglalja az objektum példányspecifikus állapotát, a változások minden objektum esetében eltérőek, ezt az ADATNYILATKOZAT deklarálja
    • statikus: ez magában foglalja az osztály közös állapotát, amelyet az osztály minden példánya megoszt, ezért amikor megváltoztatunk egy állapotot, akkor az összes többi objektum láthatja az osztály-adat utasítás által deklarált változást

módszerek SAP ABAP

  • a módszer egy modul vagy függvény
  • ez a viselkedés az objektum egy osztály
  • a módszer hozzáférhet bármely jellemző egy osztály
  • tartalmaz műveleteket kell végrehajtani objektumok, amelyek felhívják az osztály
  • módszer definíció tartalmazhat vagy nem tartalmazhat paramétereket, amelyek akkor kerülnek átadásra, amikor a módszer van hívott
  • meghatározhatunk egy módszert metódus és ENDMETHOD utasításokkal

szintaxis:

METHOD…ENDMETHOD

attribútumok és módszerek elérése az SAP ABAP-ban

1. A metódusokat és attribútumokat a

2 osztályba tartozó objektumok érhetik el. A hozzáférés – specifikátorok – nyilvános, privát és védett –ugyanúgy működnek, mint az osztály-hozzáférési specifikátoroknál

  • ha nyilvánossá nyilvánítjuk őket, akkor bármelyik osztály hozzáférhet hozzájuk
  • amikor privátnak nyilvánítjuk őket, nem férhetnek hozzá egyetlen osztályhoz sem
  • ha védettnek nyilvánítjuk őket, akkor csak az osztályok öröklésével érhetők el

nézzük meg, hogy a példa osztályok, attribútumok és módszerek írására és elérésére –

példa:

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. Data: dataflairtext01 Type char25 Value 'Public Data Flair'. Methods dataflairmethod. PROTECTED Section. Data: dataflairtext02 Type char25 Value 'Protected Data Flair'. PRIVATE Section. Data: dataflairtext03 Type char25 Value 'Private Data Flair'.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Write: / 'Public Method:', / dataflairtext01, / dataflairtext02, / dataflairtext03. Skip. EndMethod.ENDCLASS.Start-Of-Selection. Data: Objectx Type Ref To dataflairclass. Create Object: Objectx. CALL Method: Objectx->dataflairmethod. Write: / Objectx->dataflairtext01.

kimenet

nyilvános módszer:
Public Data Flair
Protected Data Flair
Private Data FlairPublic Data Flair

példa statikus attribútumokra az SAP ABAP-ban

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. CLASS-DATA: dataflairname Type char45, dataflairdata Type I. Methods: dataflairmethod.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Do 4 Times. dataflairdata = 1 + dataflairdata. Write: / dataflairdata, dataflairname. EndDo. Skip. EndMethod.ENDCLASS.Start-Of-Selection. dataflairclass=>dataflairname = 'ABAP Object Oriented Programming'. dataflairclass=>dataflairdata = 0. Data: Object1 Type Ref To dataflairclass, Object2 Type Ref To dataflairclass. Create Object: Object1, Object2. CALL Method: Object1->dataflairmethod, Object2->dataflairmethod.

konstruktorok az SAP ABAP-ban

  • a konstruktorok speciális módszerek
  • amikor létrehozunk egy objektumot, inicializálnunk kell azt, és meg kell oldanunk, hogy egy objektumot létrehozzunk a konstruktorok elvégzik az objektumok adatainak inicializálását
  • a program automatikusan meghívja a konstruktorokat, amikor az osztály objektumát létrehozzák
  • a konstruktor elindítja a műveletet, amikor egy objektum újonnan jön létre a végrehajtás során

példa ABAP Konstruktorokra

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section. Methods: dataflairmethod, constructor.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod. Write: / 'This is the method'. EndMethod. Method constructor. Write: / 'This is the constructor'. EndMethod.ENDCLASS.Start-Of-Selection. Data Object1 Type Ref To dataflairclass. Create Object Object1.

Output

ez a konstruktor

ME operátor az SAP ABAP-ban

  • amikor egy változót egy másik értékű metóduson belül újradefiniálunk, akkor az a metódus a
  • változó újradefiniált értékét fogja használni, Ha azonban az eredetileg deklarált érték, akkor használhatja a Me operátort
  • lássunk egy példát a Me operátor használatára

példa me operátorra az ABAP-ban

REPORT ZR_SS_DATAFLAIR_SAMPLE_001.CLASS dataflairclass Definition. PUBLIC Section.Data dataflairtext Type char25 Value 'Here we have class value'. Methods dataflairmethod.ENDCLASS.CLASS dataflairclass Implementation. Method dataflairmethod.Data dataflairtext Type char25 Value 'Here we have method value'. Write: / ME->dataflairtext, / dataflairtext. ENDMethod.ENDCLASS.Start-Of-Selection. Data objectx Type Ref To dataflairclass. Create Object objectx. CALL Method objectx->dataflairmethod.

kimenet

itt van az osztály értéke
itt van a módszer értéke

Összegzés

így ebben az oktatóanyagban megismertük azokat az alapokat, amelyekre az ABAP és sok más nyelv épül – objektumorientált programozás. Megtudtuk, hogy az objektumorientáció miben különbözik az eljárás orientációjától, annak fontosságáról és a legfontosabb kifejezésekről.

ennek az oktatóanyagnak a 2. részében belemerülünk az objektumorientáció további fogalmaiba, mint például az öröklés, a polimorfizmus stb.

Leave a Reply

Az e-mail-címet nem tesszük közzé.