Documente Academic
Documente Profesional
Documente Cultură
Indicaţii de lucru:
Se vor exersa exemplele din curs ori de câte ori se va simţi nevoia, pentru înţelegerea
modului de lucru specific platformei Java
Elementele fiecărui enunţ se vor adăuga gradual în cod
Probleme propuse:
Task 1. Creați clasa TestPrb1 cu metoda main care să ilustreze crearea obiectelor de tip Student
folosind toate variantele de constructori. Constructorul ce primește ca parametru un obiect de tip
Student este folosit pentru a construi o copie la studentul dat.
Task 2. Se dezvoltă și apelează printStudent pentru fiecare obiect Student, prin care se afișează
numele, numărul matricol, anul și dacă studentul este valid; un student este invalid daca are un
1
câmp pe valoarea implicită inițializată de constructorul implicit (se dezvoltă metoda
isValidStudent).
Task 3. Unde este posibil refolosiți constructorii în interiorul altor constructori; de exemplu,
constructorul Student(Student) este folosit pentru a crea o copie. Câți constructori pot fi apelați?
Task 4. Ce deosebire există între iniţializarea datelor unei clase la locul de definiţie al acestora,
respectiv în cadrul metodei constructor? Ilustraţi această concluzie (sugestie: apelați printStudent în
constructori).
Task 5. Dacă în metoda isValidStudent definim două variabile neinițializate de tip bool și double,
ce valori implicite au?
Task 6. Dacă mai adăugăm încă un constructor de forma Student(String, float), sunt echivalenţi cei
2 constructori expliciţi din punct de vedere al supraîncărcării metodelor? Demonstraţi.
Prb.2. Creaţi o clasă numită Test ce conţine un câmp private de tip String iniţializat prin
intermediul constructor (vezi diagrama). Creaţi clasă Ini ce conţine 4 obiecte de tip Test (2 statice, 2
nestatice) amplasate înainte (1 static), în constructor (1 nestatic) şi după constructor (1 static,1
nestatic) şi iniţializate la locul de definiţie. Clasa Ini are un singur constructor explicit prin intermediul
căruia se face instanţierea obiectului Test din cadrul constructorului.
Creaţi clasă principală TestPrb2 unde în main se construiesc două obiecte de tip Ini. Justificaţi
ordinea iniţializărilor din clasa Ini.
Prb.3. Creaţi clasa MyClass ce conţine câmpul de dată de tip referinţă la un masiv de întregi z,
iniţializat pe valorile {1,2,3,4}. Creaţi clasa principală TestPrb3 ce permite iniţializarea clasei
MyClass şi afişarea valorilor masivului. Reluaţi problema pentru un masiv cu elemente de tip
String pe valorile „unu”, „doi”, „trei”, „patru”.