Differences

This shows you the differences between two versions of the page.

Link to this comparison view

poo:laboratoare:06 [2018/10/24 18:35]
carmen.odubasteanu [Problema 4]
poo:laboratoare:06 [2021/11/14 20:53] (current)
carmen.odubasteanu [Problema 3]
Line 1: Line 1:
 ===== Laboratorul 06. ===== ===== Laboratorul 06. =====
 +
 +Arhiva laborator 6: {{:​poo:​laboratoare:​arhiva6.zip|}}
 +
 +==== Problema 0  - vezi curs!! ====
 +Să se definească o clasă SortedVector derivată din Vector, care să permită ordonarea după orice criteriu, specificat de utilizator la construirea unui obiect SortedVector. Clasa va conţine o variabilă de tip Comparator, iniţializată de un constructor cu argument de tip Comparator şi folosită de metoda Collections.sort.
 +
 +Observatie!! Vom supradefini doar **add**-ul din Vector pt aceasta problema, pt a fi mai simplu. In mod normal ar trebui supradefinite toate metodele de adaugare, setare etc care ne-ar putea modifica ordinea!
 +
 +Să se definească o clasă Pair care conţine două date de tip Object, cu metodele equals şi toString redefinite. ​
 +
 +Să se scrie două clase Comparator pentru compararea obiectelor Pair dupa primul obiect, respectiv, comparare după al doilea obiect din pereche
 +
 +Să se scrie un program pentru crearea a doi vectori SortedVector de obiecte Pair, unul ordonat după primul obiect din pereche şi celălalt ordonat după al doilea obiect: vom adăuga obiecte Pair ce conţin un String şi un Integer.
  
 ==== Problema 1 ==== ==== Problema 1 ====
Line 30: Line 43:
 <note important>​**Upcasting** & **Downcasting**</​note>​ <note important>​**Upcasting** & **Downcasting**</​note>​
 ==== Problema 3 ==== ==== Problema 3 ====
-Pornind de la interfața propusă, creați o clasă **//​Student//​** care implementează interfața și conține ca membri privați numele studentului și un vector cu elemente de tip Double, reprezentând mediile acestuia. Compararea se va realiza crescator dupa nume, iar dacă există doi studenți care au același nume, primul este cel cu media mai mare.+Pornind de la interfața propusă, creați o clasă **//​Student//​** care implementează interfața ​**//​Persoana//​** ​și conține ca membri privați numele studentului și un vector cu elemente de tip Double, reprezentând mediile acestuia. Compararea se va realiza crescator dupa nume, iar dacă există doi studenți care au același nume, primul este cel cu media mai mare.
  
 Scrieți o metodă **//​main//​** care construiește un vector (obiect din clasa **//​Vector//​**) cu elemente de tip **//​Student//​**,​ îl ordonează, conform criteriului anterior, folosind Collectios.sort,​ și apoi îl afișează! Scrieți o metodă **//​main//​** care construiește un vector (obiect din clasa **//​Vector//​**) cu elemente de tip **//​Student//​**,​ îl ordonează, conform criteriului anterior, folosind Collectios.sort,​ și apoi îl afișează!
Line 65: Line 78:
      - nu furnizează servicii pentru deschiderea,​ respectiv închiderea automată a ușilor, aceste operații executându-se manual.      - nu furnizează servicii pentru deschiderea,​ respectiv închiderea automată a ușilor, aceste operații executându-se manual.
  
-Implementați clasa **abstractă** care modelează conceptul de vagon împreună cu eventualele ​sale clase derivate. Se menționează că apelurile serviciilor pentru deschiderea,​ respectiv închiderea ușilor și blocarea geamurilor vor afișa pe ecran un mesaj corespunzător.+Implementați clasa **abstractă** care modelează conceptul de vagon împreună cu clasele ​sale derivate. Se menționează că apelurile serviciilor pentru deschiderea,​ respectiv închiderea ușilor și blocarea geamurilor vor afișa pe ecran un mesaj corespunzător.
  
 Implementați clasa **//​Tren//​** conform specificațiilor. Obiectele de tip **//​Tren//​** trebuie să fie comparabile,​ două trenuri fiind considerate egale dacă pot transporta același număr de colete. Această clasă conține o metodă pentru afișarea tipurilor de vagoane existente în componența trenului. Implementați clasa **//​Tren//​** conform specificațiilor. Obiectele de tip **//​Tren//​** trebuie să fie comparabile,​ două trenuri fiind considerate egale dacă pot transporta același număr de colete. Această clasă conține o metodă pentru afișarea tipurilor de vagoane existente în componența trenului.
  
-Pentru testare, se poate utiliza ​clasa **//​Test05//​** pusă la dispoziție în arhiva laboratorului.+Pentru testare, se poate __**completa**__ ​clasa **//​Test05//​** pusă la dispoziție în arhiva laboratorului.
  
  
poo/laboratoare/06.1540395358.txt.gz · Last modified: 2018/10/24 18:35 by carmen.odubasteanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0