Laborator6. Moștenirea. Clase de bază. Clase derivate.
Activități practice individuale
I. Problema 1. Elaborați în IDE-ul preferat următoarele cerințe aplicând principiile POO: a) Creaţi clasa Vehicul care va conţine: - atributele: culoare, viteza, greutate; - metoda atribute() care va afişa un un text de forma : ’’ Culoare: [culoare] Viteza : [viteza] Greutate : [greutate] ’’ unde culoare, viteza şi greutate sunt valorile atributelor obiectului; b) Creaţi clasa MaşinaMea care moşteneşte clasa Vehicul şi va conţine : - atributele cod şi km, km reprezintă kilometri parcurşi de maşină; - metoda atribute() care va afişa un un text de forma : ’’ Culoare masina : [culoare] Viteza masina : [viteza] Greutate masina : [greutate] Numar masina : [cod] Km parcurse : [km] ’’ unde culoare, viteza, greutate, cod şi km sunt valorile atributelor obiectului; c) Creaţi clasa TestMasinaMea în care instanţiaţi un vector de obiecte de tip MasinaMea folosind constructorul default şi afişaţi datele despre maşini. Informația se va citi de la tastatură. d) Adăugați clasei TestMasinaMea următoarele metode: - culoareRosie(MasinaMea [] x); - va calcula și returna numărul de mașini ce au culoare roșie. Se pemite înlocuirea vectorului static cu unul dinamic. - kmMaxim(MasinaMea [] x); - va calcula și afișa atributele mașinii care a parcurs numărul maxim de km. Se pemite înlocuirea vectorului static cu unul dinamic. - greutate(MasinaMea [] x,int i, int y); - va calcula și returna numărul de mașini ce au greutatea cuprinsă într-un diapazon (i,y) date de la tastatură. Se pemite înlocuirea vectorului static cu unul dinamic. e) Testați metodele programate la etapa precedentă în clasa TestMasinaMea. f) Adăugați programului un meniu de interacțiune cu utilizatorul. g) Adăugați o metodă de salvare și o altă metodă de citire din fișier a unei liste de obiecte de tip MasinaMea. h) Preziceți situațiile care ar putea duce la oprirea programului și oferiți mecanism de tratare a acestora. i) Creați o clasă copil pentru clasa MaşinaMea. Adăugați clasei 2 atribute noi, constructor parametrizat, sett-eri, gett-eri, două metode la dorință. Înstanțiați această clasă în clasa TestMasinaMea și apelați metodele programate.