Ce sunt constructorii in programare? [Java]

Invatarea programarii si a notiunilor fundamentale din cadrul acesteia poate reprezenta o adevarata provocare, mai ales la inceput cand ne ciocnim numai de lucruri noi. Desi se crede ca e usor sa inveti foarte repede programare, indiferent de limbaj, procesul acesta de invatare cere multa rabdare si practica.

Programarea se bazeaza pe mai multe concepte care alcatuiesc baza intelegerii acestui domeniu. Lucrand practic, aceste notiuni se afiseaza intr-un mod mai clar decat daca ne-am limita la teorie si atat. Astfel, unul dintre conceptele de programare despre care vom vorbi in continuare este cel de constructor.

Ce sunt constructorii in programare?

Pentru a intelege putin mai bine ce este un constructor, trebuie sa ne legam de alte notiuni din programare si anume de clasa, obiect si metoda. O clasa, definita intr-un mod foarte general, este un bloc compact de cod care are un scop bine delimitat in cadrul codului nostru (de exemplu clasa Main in cadrul careia scriem diferite variabile si functii).

Un obiect este un tip de variabila dar mult mai complexa, care contine la randul sau mai multe seturi de date si care transmit implicit mai multa informatie. De exemplu, putem avea un obiect “masina” care la randul sau contine datele “anFabricatie”, “model”, “inmatriculareEfectuata”, “optiuniSecuritate”, fiecare cu diferite date in ele, de tip string, integer sau boolean.

Prin metoda intelegem una sau mai multe functii care alcatuiesc un bloc compact ca functionalitate si care are un scop bine determinat, sa faca in toate circumstantele lucrul X sau Y, daca este apelata in cadrul programului nostru.

Dupa acest scurt periplu legat de teoria necesara, revenim la intrebarea ce este un constructor? Acesta reprezinta o metoda folosita pentru a initializa (crea) noi obiecte, in cadrul unei clase. Astfel, conceptul de constructor este unul compus, e mult mai dificil sa il invatam din prima fara a intelege in prealabil alte notiuni fundamentale de programare.

La ce ne ajuta constructorii si importanta lor

Constructorii reprezinta o componenta extrem de importanta in programare. Cu ajutorul lor, putem dezvolta complexitatea codului scris de noi si sa ii imbogatim functionalitatile. In acest sens, rolul unui constructor este acela de a eficientiza executia anumitor pasi si de a creste viteza derularii unor pasi.

Atunci cand vrem sa cream un obiect nou cu anumite caracteristici in cadrul unei clase, nu trebuie sa mai facem acest lucru manual deoarece ne putem folosi de constructori. Apelarea metodelor care ii compun au tocmai acest rol, sa ne ajute sa initializam noi seturi de date cu anumiti parametri sau nu, in functie de tipul constructorului raportat la necesitatile programului nostru.

Pe masura ce invatam noi lucruri legate de programare, ajungem treptat sa se clarifice mai bine in mintea noastra si de la o proiectie abstracta sa ajungem la una concreta, coreland astfel mai multe lucruri ce le-am invatat pana atunci, la fel ca in cazul constructorilor.

Exemple de constructori in limbaj Java

Pentru a oferi cateva exemple de constructori, voi folosi de aceasta data limbajul de programare Java. Trebuie mentionat in acest punct ca exista 2 categorii mari de constructori in Java: cei fara argumente si cei care au argumente (parametri), iar pe langa acestia se adauga cei impliciti (default).

Pentru a putea dezvolta in codul nostru un constructor, trebuie sa tinem cont de cateva reguli. Principalele ar fi acelea ca numele constructorului trebuie sa fie acelasi cu al clasei in care e initializat, si nu trebuie sa returneze nimic (no return type), sa nu faca nicio operatie.

1) Constructori fara argumente (parametri)

Mai intai, sa vedem un prim exemplu de constructor care nu are niciun argument (sau parametru), astfel incat noi definim direct in clasa ce valori poate lua respectivul obiect.

Constructor fara argumente

Astfel, avem un exemplu in care initializam un constructor care sa adauge noi studenti intr-o baza de date. In acest caz noi am scris direct ce nume, ID si varsta are studentul creat in acest caz. Rezultatul executiei acestui cod va fi afisarea varstei studentului (22).

2) Constructori cu argumente (parametri)

Al doilea exemplu se complica putin, deoarece de aceasta data vom initializa un constructor cu mai multi parametri, fara de care acesta nu va putea crea respectivul obiect.

Constructor cu argumente

In acest caz noi am definit clar si precis numarul si tipul parametrilor pe care ii va avea constructorul nostru. Avem astfel obiectul student, definit cu 4 parametri (prenume, nume, ID, varsta), iar la final am cerut constructorului sa afiseze doar prenumele de aceasta data (“Radu”).

3) Constructori default (impliciti)

Exista si un al treilea caz, atunci cand compilatorul nostru creaza in mod implicit un constructor, daca noi nu definim absolut niciun constructor pentru o clasa.

Constructor default (implicit)

De aceasta data, ne-a fost creat de catre compiler un constructor “invizibil”. El exista, isi face treaba cand trebuie sa afisam atributele acelui constructor, dar nu il vom vedea in mod explicit in cod, de aici tragandu-si denumirea. Rezultatul executiei va fi totusi afisarea ID-ului studentului (315).

Concluzii

In incheiere, notiunea de constructor in programare este una esentiala si extrem de utila. Constructorii ne ajuta sa crestem gradul de complexitate a codului nostru sub aspect functional, si ne ajuta implicit sa intelegem mai bine alte concept pe care se bazeaza la randul lor precum clasa, obiect sau metoda.

E foarte bine sa ii cunoastem deoarece ii putem intalni la tot pasul cand vine vorba de programare sau chiar testare software, iar daca intervine o problema legata de cod, ne va fi mult mai usor sa “citim” liniile respective, sa identificam si sa rezolvam problema.

Surse despre constructori

Internetul e plin de informatii extrem de utile despre constructori (in diferite limbaje de programare). Pentru constructorii din limbajul Java exista resurse foarte bune si exemple ilustrative pe w3schools, javatpoint, Digital Ocean si freeCodeCamp.

Mai las aici si un scurt tutorial video despre constructori in Java.

Mircea-Gabriel Macarie

https://www.linkedin.com/in/mirceamacarie/

Tech enthusiast și QA engineer, membru al comunității Vlog De IT. Interesat de testare software (QA) în general, de User Experience și Web Development.

Related post

Leave a Reply

Your email address will not be published. Required fields are marked *