Object Oriented SAP ABAP – Objects and Classes
in deze tutorial leren we over een van de principes waarop ABAP is gebouwd – Object Oriented Programming.
we zullen leren wat OOP betekent, en ook wat het inhoudt in de wereld van SAP ABAP.
Wat is OOP?
- objectgeoriënteerd programmeren splitst taken op in objecten met gegevens en functies.
- deze methode maakt het programmeren van software begrijpelijk, flexibel en herbruikbaar.
- Object-Oriented Programing (OOP) is gemaakt met eenvoud en welsprekendheid in het achterhoofd.
- het maakt mensen duidelijk communiceren, Uitwisseling van informatie en ideeën met behulp van een gemeenschappelijke taal – de taal van objecten.
- Deze objecten zijn gemaakt van de twee belangrijkste kenmerken – eigenschappen (gegevens) en het gedrag (of functies)
De belangrijkste kenmerken van het OOP zijn–
- Data-abstractie
- Inkapseling
- Nadruk op gegevens in plaats van de procedure
- Gebruik van real-world entiteiten genaamd ‘object’
- privacybescherming en bescherming van Gegevens
Blijf op de hoogte met de nieuwste technologische trends
Join DataFlair aan-Telegram!!
POP vs OOP
Proceduregeoriënteerd programmeren (POP) benadert problemen in een top-down methode. Het benadrukt procedure in plaats van gegevens op een lineaire manier.
Laten we een paar verschillen tussen de POP en OOP–
POP | OOP |
POP staat voor Procedure-Georiënteerd programmeren | OOP staat voor Object-Georiënteerd programmeren |
Het richt zich op de procedure (het doen van taken) in plaats van de gegevens (taken) | Het richt zich op data/taken in plaats van de procedure |
POP volgt de top-down mode voor het oplossen van problemen | OOP volgt bottom-up mode voor het oplossen van problemen |
Het deelt een programma in kleinere onderdelen genoemd functies of modules | het verdeelt een programma in kleinere delen genaamd objecten |
functies delen globale gegevens en gegevens kunnen niet voor elkaar verborgen worden | functies delen geen globale gegevens – u kunt beslissen wie toegang heeft tot uw gegevens |
er wordt niet veel nadruk gelegd op gegevensbescherming | een van de belangrijkste aandachtspunten in OOP is gegevensbescherming |
het uitbreiden van functionaliteit en het toevoegen van gegevens is vervelend en tijdrovend | het is zeer eenvoudig om functionaliteit uit te breiden en nieuwe gegevens toe te voegen, door simpelweg nieuwe objecten toevoegen |
concepten van overerving, polymorfisme, encapsulatie worden niet gebruikt | concepten van overerving, polymorfisme, encapsulatie vormen de basis van OOP |
bijvoorbeeld C, Pascal, FORTRAN | bijvoorbeeld Java, Python, C++ |
OOP in ABAP
- aanvankelijk ontwikkelde SAP ABAP als POPTAAL.
- echter, naarmate de tijd vorderde, veranderden ze het en transformeerden het in een OOP taal
- vandaar dat ABAP nu de principes van objectoriëntatie en paradigma ‘ s zoals objecten volgt.
- als onderdeel van OOP gebruikt ABAP de concepten van overerving, overbelasting, het verbergen van gegevens, enz. voor betere functionaliteit.
laten we beginnen met het begrijpen van een paar basistermen van OOP
TERM | betekenis |
Object | een reële entiteit met gegevens en gedrag |
Klasse | een complexe verzameling objecten die hoofdzakelijk gegevensvelden en kenmerken met betrekking tot de gegevens bevatten |
methode | gedrag van een object, d.w.z. functiemodules die het object uitvoert |
Member | het data member of member functie van een klasse |
instantie | synoniem van object, meestal gebruikt als ‘instantie van een klasse’ |
Instantiation | een nieuw object van een klasse aanmaken |
objecten in SAP ABAP
- een object is een reële entiteit die gegevens en gedrag bevat.
- deze kenmerken en gedrag bepalen de toestand van het object, en de acties die het object zal uitvoeren.
- een object, zoals eerder vermeld, is een blauwdruk of instantie van een klasse.
- voor bijvoorbeeld een werknemer, een boek – een appelboom-allen zijn objecten.
een Object in ABAP aanmaken
laten we eens kijken hoe u een object in ABAP kunt maken –
syntaxis:
DATA: <object_name> TYPE REF TO <class_name>. "Create reference variable CREATE Object: <object_name>. #Create object from ref. var.
voorbeeld:
DATA: dataflairobject TYPE REF TO dataflairclass. CREATE Object: dataflairobject.
voorbeeld rapporteren:
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.
uitvoer
gegevens Flair OOPS tutorial in ABAP: methode.
Klassen in SAP ABAP
- EEN class is een complexe verzameling van objecten
- Het bevat de gegevens van de leden (kenmerken) en de methoden (functies) samen verpakt in een enkele entiteit genaamd object
- Klassen zijn waar objecten worden gemaakt en gedefinieerd
- Wij definiëren en verklaren functie modules in een klasse
- kunnen We beschrijven de privacy van een klasse
- Wat dit betekent is, we kunnen bepalen wie allemaal toegang tot bepaalde gegevens van een klasse
een Klasse Maken in ABAP
een klasse Maken in ABAP heeft twee stappen –
1. Verklaring
Syntaxis–
CLASS <class_name> DEFINITION.//define classENDCLASS.
Voorbeeld–
CLASS dataflairclass DEFINITION.//define classENDCLASS.
2. Definitie
syntaxis–
CLASS <class_name> IMPLEMENTATION.//define classENDCLASS.
voorbeeld–
CLASS dataflairclass IMPLEMENTATION.//define classENDCLASS.
attributen in SAP ABAP
- attributen zijn de kenmerken van de klasse
- ze kunnen elk vooraf gedefinieerd gegevenstype hebben zoals P, F, I, enz.
- we moeten attributen declareren in klasse declaratie sectie
- attributen zijn van twee types:
- Instance: dit omvat de instantie-specifieke toestand van het object, de wijzigingen zijn verschillend voor alle objecten, en dit wordt gedeclareerd door DATA statement
-
- statisch: dit omvat de gemeenschappelijke stand van de klas te worden gedeeld door alle instanties van de klasse, dus als we het veranderen van een staat dan alle andere objecten kunt zien de verandering, verklaard door KLASSE-DATA-instructie
Methoden in SAP ABAP
- EEN methode is een module of een functie
- Het is het gedrag van het object van een klasse
- Een methode van toegang tot een eigenschap van een klasse
- Het bevat acties die moeten worden uitgevoerd door objecten, die u aanroepen van de klasse
- Methode definitie wel of niet kan bevatten parameters, die worden doorgegeven wanneer de methode
- we kunnen een methode definiëren met behulp van METHOD en ENDMETHOD statements
syntaxis:
METHOD…ENDMETHOD
toegang tot attributen en methoden in SAP ABAP
1. Methoden en attributen zijn toegankelijk voor objecten van klasse
2. De toegangsspecificaties – public, private en protected – werken op dezelfde manier als ze voor de klas toegangsspecificaties
- Als we verklaren ze openbaar zijn, kunnen ze worden benaderd door een klasse
- Wanneer wij verklaren hen eigen zijn, kunnen ze niet worden geopend door een klasse
- Als wij verklaren hen beschermd, ze kunnen alleen bereikt worden door het overnemen van de klassen
Laten we een voorbeeld zien van hoe het schrijven van klassen, attributen en methoden en hen de toegang –
Voorbeeld:
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.
Output:
Openbare Gegevens Flair
Beveiligde Gegevens Flair
Privé-Gegevens FlairPublic Gegevens Flair
Voorbeeld van Statische Eigenschappen in SAP ABAP
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.
Aannemers in SAP ABAP
- Constructeurs zijn speciale soorten methoden
- Wanneer we een object maken, we moeten initialiseren en constructeurs doen van de taak van het initialiseren van gegevens voor de objecten
- Het programma roept constructeurs automatisch wanneer een object van de klasse wordt gemaakt
- De constructor zal leiden tot de operatie opgenomen wanneer een object is recent opgericht in uitvoering
Voorbeeld van ABAP-Constructeurs
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
MIJ Operator in SAP ABAP
- Wanneer we het herdefiniëren van een variabele in een methode met een andere waarde, die methode zal gebruik maken van het opnieuw gedefinieerde waarde van de variabele
- Echter, als u toegang wilt tot de oorspronkelijk vastgestelde waarde, dan kunt u gebruik maken van de MIJ operator
- Laten we een voorbeeld zien van het gebruik van de ME-operator
Voorbeeld van MIJ Operator in ABAP
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.
Output
Hier hebben we een methode waarde
samenvatting
in deze handleiding leerden we over de basisprincipes waarop ABAP en vele andere talen gebouwd zijn – objectgeoriënteerd programmeren. We leerden hoe objectoriëntatie verschilt van procedureoriëntatie, het belang ervan en de belangrijkste termen.
in deel #2 van deze handleiding zullen we dieper ingaan op verdere concepten van objectoriëntatie zoals overerving, polymorfisme, enz.