Object Oriented SAP ABAP – Objects and Classes

în acest tutorial, vom învăța despre unul dintre principiile pe care este construit ABAP – programarea orientată pe obiecte.

vom afla despre ce înseamnă OOP și, de asemenea, ce implică în lumea SAP ABAP.

ce este OOP?

  • programarea orientată pe obiecte descompune sarcinile în obiecte care au date și funcții.
  • această metodă face programarea software-ului ușor de înțeles, flexibil și reutilizabil.
  • programarea orientată pe obiecte (Oop) a fost creată cu simplitate și elocvență în minte.
  • îi face pe oameni să comunice clar, să facă schimb de informații și idei folosind un limbaj comun – limbajul obiectelor.
  • aceste obiecte sunt alcătuite din cele două caracteristici principale – proprietăți (date) și comportament (sau funcții)

principalele caracteristici ale OOP sunt–

  1. abstractizarea datelor
  2. încapsulare
  3. accent pe date, mai degrabă decât pe procedură
  4. utilizarea entităților din lumea reală numite ‘obiect’
  5. confidențialitatea și protecția datelor

rămâneți la curent cu cele mai recente tendințe tehnologice
Alăturați-vă DataFlair pe telegramă!!

POP vs OOP

programarea orientată pe proceduri (Pop) abordează problemele într-o metodă de sus în jos. Acesta subliniază procedura, mai degrabă decât datele într-un mod liniar.

să vedem câteva diferențe între POP și OOP–

POP OOP
POP înseamnă programare orientată pe proceduri OOP înseamnă programare orientată pe obiecte
se concentrează mai degrabă pe procedură (efectuarea sarcinilor) decât pe date (SARCINI) se concentrează mai degrabă pe date/sarcini decât pe procedură
POP urmează moda de sus în jos în rezolvarea problemelor OOP urmează moda de jos în sus în rezolvarea problemelor
acesta împarte un program în părți mai mici numite funcții sau module împarte un program în părți mai mici numite obiecte
funcții partajați date globale și datele nu pot fi ascunse unele de altele funcțiile nu partajează date globale – puteți decide cine vă poate accesa datele
nu se pune prea mult accent pe protecția datelor unul dintre principalele puncte de interes în OOP este protecția datelor
extinderea funcționalității și adăugarea de date este obositoare și consumatoare de timp este foarte ușor să extindeți funcționalitatea și să adăugați date noi, pur și simplu adăugarea de obiecte noi
conceptele de moștenire, polimorfism, încapsulare nu sunt utilizate conceptele de moștenire, polimorfism, încapsulare formează chiar baza OOP
de exemplu, Pascal, FORTRAN de exemplu Java, Python, C++

OOP în ABAP

  • inițial, SAP a dezvoltat ABAP ca limbaj POP.
  • cu toate acestea, pe măsură ce timpul a progresat, l-au mutat și l-au transformat într-un limbaj OOP
  • prin urmare, ABAP urmează acum principiile orientării obiectului și paradigme precum obiectele.
  • ca parte a OOP, ABAP folosește conceptele de moștenire, supraîncărcare, ascunderea datelor etc. pentru o mai bună funcționalitate.

să începem prin a înțelege câțiva termeni de bază ai OOP

Termeni de bază pentru a ști

termen înțeles
obiect o entitate din lumea reală care are date și comportament
clasa o colecție complexă de obiecte care conțin în principal câmpuri de date și caracteristici referitoare la date
metoda comportamentul unui obiect, adică. module funcționale pe care le efectuează obiectul
membru fie membru de date sau funcția de membru al unei clase
instanță sinonim al obiectului, folosit de obicei ca instanță a unei clase’
instanțierea crearea unui nou obiect al unei clase

obiecte în SAP ABAP

  • un obiect este o entitate din lumea reală care conține date și comportament.
  • aceste caracteristici și comportament definesc starea obiectului și acțiunile pe care obiectul le va efectua.
  • un obiect, așa cum am menționat anterior, este un plan sau o instanță a unei clase.
  • de exemplu, un angajat, o carte, un măr – toate sunt obiecte.

crearea unui obiect în ABAP

să vedem cum se creează un obiect în Abap –

sintaxă:

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

exemplu:

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

exemplu de raport:

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.

ieșire

fler de date Oops tutorial în ABAP: date.
fler de date OOPS tutorial în ABAP: metodă.

clase în SAP ABAP

  • o clasă este o colecție complexă de obiecte
  • conține membri de date (caracteristici) și metode membre (funcții) împreună înfășurat într-o singură entitate numită obiect
  • clasele sunt în cazul în care obiectele sunt create și definite
  • de asemenea, definim și declarăm module funcționale într-o clasă
  • putem descrie confidențialitatea unei clase
  • ce înseamnă acest lucru este, putem defini cine toți pot avea acces la anumite date ale unei clase

crearea unei clase în Abap

crearea unei clase în Abap are două pași –

1. Declarație

Sintaxă–

CLASS <class_name> DEFINITION.//define classENDCLASS.

Exemplu–

CLASS dataflairclass DEFINITION.//define classENDCLASS.

2. Definiție

sintaxă–

CLASS <class_name> IMPLEMENTATION.//define classENDCLASS.

exemplu–

CLASS dataflairclass IMPLEMENTATION.//define classENDCLASS.

atributele în SAP ABAP

  • atributele sunt caracteristicile clasei
  • pot avea orice tip de date predefinit, cum ar fi P, F, I etc.
  • trebuie să declarăm atributele în secțiunea declarație de clasă
  • atributele sunt de două tipuri:
    • instanță: aceasta include starea specifică instanței de obiect, modificările sunt diferite pentru toate obiectele, iar acest lucru este declarat de declarație de date
    • Static: aceasta include starea comună a clasei care urmează să fie împărtășită de toate instanțele clasei, prin urmare, atunci când schimbăm o stare, atunci toate celelalte obiecte pot vedea schimbarea, declarată de instrucțiunea CLASS-DATA

metode în SAP ABAP

  • o metodă este un modul sau o funcție
  • este comportamentul obiectului unei clase
  • o metodă poate accesa orice caracteristică a unei clase
  • conține acțiuni care trebuie efectuate de obiecte care apelează la clasa
  • definiția metodei poate conține sau nu parametri, care sunt trecuți atunci când metoda este numit
  • putem defini o metodă folosind metoda și endmethod declarații

sintaxă:

METHOD…ENDMETHOD

accesarea atributelor și metodelor în SAP ABAP

1. Metodele și atributele pot fi accesate de obiecte din clasa

2. Specificatorii de acces – public, privat și protejat – funcționează la fel ca și pentru specificatorii de acces la clasă

  • dacă le declarăm publice, ele pot fi accesate de orice clasă
  • când le declarăm private, nu pot fi accesate de nicio clasă
  • dacă le declarăm protejate, ele pot fi accesate doar prin moștenirea claselor

să vedem un exemplu despre cum să scrieți clase, atribute și metode și să le accesați –

exemplu:

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.

ieșire

metoda publică:
Flair de date publice
Flair de date protejate
Flair de Date Private Flair de date publice

exemplu de atribute statice în 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.

constructori în SAP ABAP

  • Constructorii sunt tipuri speciale de metode
  • când creăm un obiect, trebuie să îl inițializăm și să Constructori face treaba de inițializare a datelor pentru obiectele
  • programul solicită Constructori automat atunci când un obiect al clasei este creat
  • constructorul va declanșa operațiunea inclus ori de câte ori un obiect este nou creat în execuție

exemplu de constructori ABAP

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.

ieșire

acesta este constructorul

operatorul ME în SAP ABAP

  • ori de câte ori vom redefini o variabilă într-o metodă cu o valoare diferită, această metodă va folosi valoarea redefinită a variabilei
  • cu toate acestea, dacă doriți să accesați valoarea declarată inițial, atunci puteți utiliza operatorul me
  • să vedem un exemplu de utilizare a operatorului me

exemplu de operator me în 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.

ieșire

aici avem valoarea clasei
aici avem valoarea metodei

rezumat

astfel, în acest tutorial, am învățat despre elementele de bază pe care ABAP și multe alte limbi sunt construite – programare orientată pe obiecte. Am aflat despre modul în care orientarea obiectului este diferită de orientarea procedurii, importanța acesteia și termenii cei mai importanți.

în partea # 2 a acestui tutorial, ne vom arunca cu capul în concepte suplimentare de orientare obiect ca moștenire, polimorfism, etc.

Leave a Reply

Adresa ta de email nu va fi publicată.