Object Oriented SAP ABAP-Objects and Classes
tässä opetusohjelmassa tutustumme yhteen periaatteista, joille ABAP on rakennettu-Olio-orientoituneeseen ohjelmointiin.
saamme tietää, mitä OOP tarkoittaa ja mitä se sisältää SAP ABAPIN maailmassa.
mikä on OOP?
- Oliokeskeinen ohjelmointi jakaa tehtävät olioihin, joilla on tietoa ja funktio.
- tämä menetelmä tekee ohjelmoinnista ymmärrettävää, joustavaa ja uudelleenkäytettävää.
- Object-Oriented Programing (OOP) luotiin yksinkertaisuus ja kaunopuheisuus mielessä.
- se saa ihmiset kommunikoimaan selkeästi, vaihtamaan tietoja ja ajatuksia käyttäen yhteistä kieltä – olioiden kieltä.
- nämä objektit koostuvat kahdesta pääpiirteestään-ominaisuuksista (data) ja käyttäytymisestä (tai funktioista))
OOP: n tärkeimmät ominaisuudet ovat–
- tiedon abstraktio
- kapselointi
- painotus tiedolle menettelyn sijaan
- reaalimaailman ”objektiksi” kutsuttujen kokonaisuuksien käyttö
- tietosuoja ja tietosuoja
Pysy ajan tasalla uusimpien teknologiasuuntausten kanssa
liity Dataflairiin Telegramissa!!
POP vs OOP
Procedure-Oriented Programming (POP) lähestyy ongelmia ylhäältä alas-menetelmällä. Se korostaa menettelyä eikä dataa lineaarisesti.
nähdäänpä muutama ero popin ja oopin välillä–
POP | OOP |
POP tulee sanoista Procedure-Oriented programming | OOP tarkoittaa Olio-orientoitua ohjelmointia |
se keskittyy pikemminkin menettelyyn (tehtävien suorittamiseen) kuin dataan (tehtävät) | se keskittyy tietoihin/tehtäviin kuin menettelyyn |
POP seuraa ylhäältä alas-muotia ongelmanratkaisussa | OOP seuraa alhaalta ylös-muotia ongelmanratkaisussa |
se jakaa ohjelman pienempiin osiin, joita kutsutaan funktiot tai moduulit | se jakaa ohjelman pienempiin osiin, joita kutsutaan olioiksi |
funktiot jakavat maailmanlaajuista dataa eikä tietoja voi piilottaa toisiltaan | funktiot eivät jaa maailmanlaajuista dataa – voit päättää, kuka voi käyttää tietojasi |
tietosuojaa ei juurikaan painoteta | yksi OOP: n tärkeimmistä painopisteistä on tietosuoja |
toimintojen laajentaminen ja tietojen lisääminen on työlästä ja aikaa vievää | on erittäin helppoa laajentaa toiminnallisuutta ja lisätä uutta tietoa yksinkertaisesti uusien objektien lisääminen |
periytymisen, polymorfismin, kapseloinnin käsitteitä ei käytetä | periytymisen, polymorfismin, kapseloinnin käsitteet muodostavat OOP: n perustan |
esim. C, Pascal, FORTRAN | esim. Java, Python, C++ |
OOP abapissa
- aluksi SAP kehitti ABAPIN POPKIELEKSI.
- kuitenkin ajan edetessä he siirsivät sitä ja muuttivat sen OOP-kieleksi
- , joten ABAP noudattaa nyt olio-orientaation ja paradigmojen oppeja kuten olioita.
- osana OOP: ta ABAP käyttää käsitteitä perintö, ylikuormitus, tietojen piilottaminen jne. parempaa toiminnallisuutta.
aloittakaamme ymmärtämällä muutamia OOP: n perusehtoja
perusehtoja, jotka on tiedettävä
termi | merkitys |
objekti | reaalimaailman olio, jolla on tietoa ja käyttäytymistä |
Luokka | monimutkainen kokoelma olioita, jotka sisältävät pääasiassa aineistoon liittyviä tietokenttiä ja ominaisuuksia |
menetelmä | objektin käyttäytyminen so. objektin suorittamat funktiomoduulit |
jäsen | joko tietoryhmän jäsen tai jäsenfunktio |
instanssi | objektin synonyymi, käytetään yleensä ilmaisua ”instanssi luokasta’ |
Instantiaatio | uuden luokan objektin luominen |
oliot SAP ABAP: ssa
- Olio on reaalimaailman olio, joka sisältää tietoa ja käyttäytymistä.
- nämä ominaisuudet ja käyttäytyminen määrittelevät olion tilan ja toimet, joita olio suorittaa.
- objekti, kuten aiemmin mainittiin, on jonkin luokan pohjapiirros tai instanssi.
- esim.työntekijä, kirja, omenapuu – kaikki ovat esineitä.
objektin luominen ABAPISSA
Katsotaanpa, miten objekti luodaan ABAPISSA –
syntaksi:
DATA: <object_name> TYPE REF TO <class_name>. "Create reference variable CREATE Object: <object_name>. #Create object from ref. var.
esimerkki:
DATA: dataflairobject TYPE REF TO dataflairclass. CREATE Object: dataflairobject.
raportoi esimerkki:
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.
Output
Data Flair oho tutorial in ABAP: method.
luokat SAP ABAP
- luokka on monimutkainen kokoelma olioita
- se sisältää datajäsenet (ominaisuudet) ja jäsenmenetelmät (funktiot) yhdessä käärittyinä yhteen kokonaisuuteen nimeltä olio
- luokat ovat missä oliot luodaan ja määritellään
- määrittelemme ja julistamme myös funktiomoduulit luokassa
- mitä tämä tarkoittaa, voimme määritellä, ketkä kaikki voivat päästä käsiksi luokan
voimme kuvata luokan
luokan luominen abapiin
luokan luominen abapiin on kaksi askeleet –
1. Julistus
Syntaksi–
CLASS <class_name> DEFINITION.//define classENDCLASS.
Esimerkki–
CLASS dataflairclass DEFINITION.//define classENDCLASS.
2. Määritelmä
syntaksi–
CLASS <class_name> IMPLEMENTATION.//define classENDCLASS.
esimerkki–
CLASS dataflairclass IMPLEMENTATION.//define classENDCLASS.
SAP ABAPIN attribuutit
- attribuutit ovat luokan
- ominaisuuksia, joilla voi olla mitä tahansa ennalta määriteltyä tietotyyppiä, kuten P, F, I jne.
- meidän on ilmoitettava attribuutit Luokka-ilmoitusosiossa
- attribuutteja on kahdenlaisia:
- instanssi: tämä sisältää objektin instanssikohtaisen tilan, muutokset ovat erilaisia kaikille objekteille, ja tämä ilmoitetaan datalausunnolla
-
- Staattinen: tämä sisältää luokan yhteisen tilan, joka jaetaan kaikille luokan esiintymille, joten kun muutamme yhtä tilaa, kaikki muut objektit voivat nähdä muutoksen, joka on ilmoitettu LUOKKATIETOLAUSEKKEELLA
menetelmät SAP ABAP-menetelmässä
- menetelmä on moduuli tai funktio
- se on luokan
- objektin käyttäytyminen menetelmä voi käyttää luokan
- ominaisuuksia se sisältää toimia, jotka suoritetaan luokan
- mukaisia objekteja varten. on kutsutaan
- voidaan määritellä menetelmä käyttäen menetelmä-ja ENDMETODILAUSEITA
syntaksi:
METHOD…ENDMETHOD
käytetään SAP ABAP
– attribuutteja ja-menetelmiä 1. Menetelmiä ja attribuutteja pääsee käsiksi luokan
olioihin 2. Käyttöoikeusmääritteet – julkiset, yksityiset ja suojatut – toimivat samalla tavalla kuin luokkaoikeusmääritteet
- jos julistamme ne julkisiksi, niihin voi tutustua mikä tahansa luokka
- kun julistamme ne yksityisiksi, niihin ei pääse käsiksi mikään Luokka
- jos julistamme ne suojatuiksi, niihin voivat päästä vain perivät luokat
katsotaanpa esimerkki luokkien, attribuuttien ja menetelmien kirjoittamisesta ja niiden käyttämisestä –
esimerkki:
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.
Tuotos
Public Data Flair
Protected Data Flair
Private Data FlairPublic Data Flair
Example of staattiset attribuutit 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.
rakentajat SAP ABAP
- rakentajat ovat erityisiä menetelmiä
- kun luomme objektin, se on alustettava ja rakentajat tekevät työn alustaa tietoa olioille
- ohjelma kutsuu rakentajia automaattisesti kun luokan objekti luodaan
- rakentaja käynnistää mukana olevan toiminnon aina kun objekti luodaan uudelleen suorituksessa
esimerkki ABAP-rakentajista
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.
Lähtö
Me-operaattori SAP ABAP-järjestelmässä
- aina kun määrittelemme muuttujan uudelleen menetelmässä, jolla on eri arvo, tämä menetelmä käyttää muuttujan
- uudelleen määriteltyä arvoa kuitenkin, jos haluat käyttää alun perin ilmoitettu arvo, niin voit käyttää Me-operaattoria
- Katsotaanpa esimerkki me-operaattorin käytöstä
esimerkki me-operaattorista abapissa
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.
lähtö
tässä meillä on metodin arvo
Yhteenveto
tässä opetusohjelmassa opimme siis perusasiat, joiden varaan ABAP ja monet muut kielet rakentuvat – oliopainotteinen ohjelmointi. Opimme, miten olio-orientaatio eroaa menettelysuuntautuneisuudesta, sen merkityksestä ja tärkeimmistä termeistä.
tämän opetusohjelman osassa #2 sukellamme edelleen objektisuuntauksen käsitteisiin, kuten periytymiseen,polymorfismiin jne.