1. Deschideți editorul de cod Java și rulați Exemplul 1 din partea teoretică. Apoi realizați următoarele:
- Adăugați o clasă Test în care instanțiați clasa Elev folosind toți constructorii.
- Supraîncărcați constructorul pentru un parametru de tip int.
- Testați funcționalitatea noului constructor supraîncărcat.
- Instanțiați clasa Operații în metoda main() și testați metodele programate.
- Supraîncărcați metoda suma() pentru un vector de elemente de tip int.
- Supraîncărcați metoda suma() pentru 2 parametri de tip double.
- Testați în metoda main() noile funcționalități.
- Creați o clasă Test, în care să instanțiați clasa Manager și să verificați funcționarea metodei de calcul al salariului.
- Definiți o clasă nouă Instructor, care extinde clasa Angajat și include o nouă caracteristică, nocivitate, care este un adaos fix pentru condiții de muncă nocive.
- Supradefiniți în clasa Instructor metoda salariu(), astfel încât să includă în calcule și nocivitatea.
- Supradefiniți în clase metoda toString().
- Testați în metoda main() noua clasă.
- Adăugați clasei Angajat constructor fără parametri.
- Supraîncărcați constructorul clasei Angajat astfel încât acesta să inițializeze caracteristicele clasei.
- Creați constructorul parametrizat al clasei Manager.
- Adăugați o nouă clasă ConducatorAuto care va extinde clasa Angajat. Despre un conducător auto se cunoaște că are suplimentar la salariu o anumită sumă x, pentru că nu are zile de odihnă, și o altă sumă y, ce reprezintă plata pentru combustibil.
- Creați constructorul parametrizat al clasei ConducatorAuto.
- Supraîncărcați metoda int salariu() din superclasă, astfel încât la calculul salariul de bază să se ia în considerare și cele două adaosuri ale conducătorului auto.
- Instanţiați clasa ConducatorAuto în clasa Test.
- Adăugați metodei main() din clasa Test o listă statică de obiecte de tip Angajat. Încărcați în listă obiecte de tip Manager, Instructor și ConducatorAuto.
- Adăugați clasei Test o metodă statică care va primi ca parametru o listă de tip Angajat și care va afișa elementele listei la ecran.
- Apelați metoda pentru lista de angajați.
- Adăugați clasei Test o metodă statică care va primi ca parametru o listă de tip Angajat și care va afișa la ecran angajatul cu cel mai mare salariu.
- Testați funcționalitatea metodei pentru lista de angajați.
- clasa Persoana definită de următoarele atribute: nume, prenume, idnp (codul personal de 13 cifre) și metode: constructorul clasei, afişare().
- clasa Student, derivata clasei Persoana. Pentru clasa Student vor fi adăugate:
- date: media notelor curente, grupa;
- metode: constructorul clasei, va fi supradefinită metoda afişare(), bursa(). Bursa va fi determinată conform formulei: media*75 lei, dacă media este mai mare decât 7.5, în caz contrar va fi 0.
- clasa Salariat, derivata clasei Persoana. Pentru clasa Salariat vor fi adăugate:
- date: numărul de ore lucrate, plata pentru o oră, anul angajării;
- metode: constructorul clasei, va fi redefinită metoda afişare(), salariu(). Salariul va fi determinat conform formulei: nr_ore*plata.
- clasa Angajat_calificat, derivata clasei Salariat. Pentru clasa Angajat_calificat vor fi adăugate:
- date: gradul calificării (1 superior, 2 mediu, 3 inferior);
- metode: vor fi redefinite metodele afişare() și salariu(). Salariu va fi determinat conform formulei: nr_ore*plata*(100%+calificare).
- clasa TestStudentiAngajați:
- instanțiați o listă de 5 studenți.
- adăugați o metodă care va primi ca parametru lista de obiecte de tip Student și va afișa numărul de studenți dintr-o grupă anumită.
- testați această metodă pentru lista instanţiată.
- adăugați o metodă care va primi ca parametru lista de obiecte de tip Student și va afișa studentul cu bursa minimă.
- testați această metodă pentru lista instanţiată.
- instanțiați o listă de 5 salariați.
- instanțiați o listă de 5 studenți.
- adăugați o metodă care va primi ca parametru lista de obiecte de tip Salariat și va afișa datele despre salariatul cu salariu minim.
- Testați noile funcționalități.
- Ce sugestii aveți pentru îmbunătățirea performanței codului?
Succes!
❤️