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–

  1. tiedon abstraktio
  2. kapselointi
  3. painotus tiedolle menettelyn sijaan
  4. reaalimaailman ”objektiksi” kutsuttujen kokonaisuuksien käyttö
  5. 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: data.
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
  • voimme kuvata luokan

  • mitä tämä tarkoittaa, voimme määritellä, ketkä kaikki voivat päästä käsiksi 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

Julkinen menetelmä:
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ö

tämä on rakentaja

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 luokan arvo
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.

Leave a Reply

Sähköpostiosoitettasi ei julkaista.