Documente Academic
Documente Profesional
Documente Cultură
Curs de inițiere
Ziua 1
Elementul constructiv – obiectul este o instanţă a unei clase (tip de dată definită de utilizator).
Clasa este conceptul de bază în POO ce reuneşte o colecţie de obiecte care partajează aceeaşi
listă de atribute si cuprinde definiţiile datelor şi operaţiilor ce caracterizează obiectul.
Instanțierea înseamnă atribuirea unor proprietăți specifice clasei, astfel încât aceasta să indice
un obiect anume, care se diferențiază de toate celelalte obiecte.
Programarea procedurala se bazeaza pe apeluri de proceduri sau liste simple de procedure, functii
sau subrutine.
În POO (Programare Orientată pe Obiecte) programele sunt create ca o colecție de obiecte, unități
individuale de cod care interacționează unele cu altele, deci se bazeaza pe instantierea obiectelor.
Clase
+ Atribut 1 - MV_BRAND
+ Atribut 2 - MV_COLOR
+ SET_BRAND (IV_BRAND)
+ Metoda 1 (lista arg)
+ SET_COLOR (IV_COLOR)
+ Metoda 2 (lista arg)
+ DESCRIBE_BIKE( RV_DESCR)
Rezultate:
START-OF-SELECTION.
Salut! Sunt un bike Scott de culoare verde.
DATA go_scott TYPE REF TO lcl_bike. Salut! Sunt un bike Merdia de culoare gri.
DATA go_giant TYPE REF TO lcl_bike.
DATA gv_descr TYPE string.
Au fost create 2 instante ale clasei LCL_BIKE in
CREATE OBJECT go_scott. sesiunea interna curenta:
go_scott->set_brand( iv_brand = 'Scott' ).
go_scott->set_color( iv_color = 'verde' ).
Atributele clasei:
➢ contin date/caracteristici care pot fi stocate in obiectul unei clase.
➢ pot fi de tip: elementar, structura sau tip-tabel si se declara cu ajutorul tipurilor locale,
globale sau referinta.
Un atribut poate fi declarat folosind optiunea READ-ONLY ceea ce inseamna ca acest atribut
poate fi accesat din exteriorul clasei, insa poate fi modificat doar de metodele clasei respective.
Metode
Instanţierea este operaţia prin care se creează (defineşte) un obiect şi apoi se iniţializează cu
date specifice.
DATA .... TYPE REF TO .... este utilizat pentru a defini o variabila cu referinta la o clasa, cu
alte cuvinte un obiect.
Instantiere se face cu instr. CREATE OBJECT care creaza un obiect.
START-OF-SELECTION.
DATA go_scott TYPE REF TO lcl_bike.
DATA go_giant TYPE REF TO lcl_bike.
DATA gv_descr TYPE string.
gv_descr = go_scott->describe_bike( ).
WRITE: / gv_descr.
gv_descr = go_giant->describe_bike( ).
WRITE: / gv_descr.
Metode si Atribute Statice
Metodele statice pot fi apelate fara a mai fi nevoie sa se instantieze un obiect din acea
clasa.
Unui atribut static i se rezervă o singură zonă de memorie, acest atribut este unic si e vizibil
pentru toate instantele unei clase (obiectelor).
Atributele statice sunt utile pentru constante, buffer-e, informatii administrative precum
numarul de instante create intr-o sesiune.
START-OF-SELECTION.
lcl_data=>mv_date = sy-datum.
lcl_data=>get_current_date( ).
Metode si Atribute
Poate accesa atat membri statici cat si nestatici Poate accesa numai membri statici
Există pentru fiecare instanță(obiect) separat. Un membru static este global și nu aparţine nici unuia
dintre obiectele clasei, dar este partajata de toate
acestea.
Constructor
Constructorul este o metodă specială a unei clase, care este membru al clasei. Constructorii
sunt apelaţi atunci când se instanţiază obiecte din clasa respectivă, ei asigurând iniţializarea
corectă a tuturor variabilelor membru ale unui obiect şi garantând că iniţializarea unui obiect
se efectuează o singură dată.
CLASS lcl_bike DEFINITION.
PUBLIC SECTION.
METHODS:
constructor IMPORTING iv_brand TYPE string
iv_color TYPE string.
ENDCLASS. "lcl_bike DEFINITION
START-OF-SELECTION.
DATA go_scott TYPE REF TO lcl_bike.