This is an old revision of the document!
Să se implementeze ierarhia de clase descrisă prin diagrama de mai jos:
Clasa abstractă Shape conține trei metode abstracte: getArea, getPerimeter și metoda toString care este implementată în fiecare clasă și este particularizată, pentru a face distincția între obiecte.
Pornind de la ierarhia definită anterior, definiți o referință la un obiect de tip Rectangle. Verificați dacă puteți instanția un astfel de obiect folosind unul din constructorii clasei Shape și unul din cei existenți în clasa Square. Declarați și instanțiați un obiect de tip Square, apoi incercați să îi faceți cast la un obiect de tip: Rectangle, Shape și Circle. Eliminați erorile apărute, folosind instanceof pentru a determina dacă este validă operația pe care incercați să o realizați.
Determinați tipurile conversiilor, din blocul de cod de mai jos, indicând dacă sunt sau nu posibile.
//Conversie 1 Circle c1 = new Circle(); Square sq = (Square) c1; //Conversie 2 Rectangle r = new Rectangle(5.0, 5.0); sq = (Square) r; //Conversie 3 sq = new Square(7.0); r = sq;
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. 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ă!
interface Persoana extends Comparable { public double calculMedieGenerala(); public String getNume(); public void setNume(String nume); public void addMedie(double medie); }
Collections.sort
Să se definească o clasă filtru pentru selecția de fișiere după o listă de extensii (tipuri de fișiere) și după o listă de nume. Clasa implementează una din interfețele FileFilter sau FilenameFilter conține un vector cu tipurile de fișiere acceptate și un vector cu cuvintele care ar trebui să între în alcătuirea numelor fișierelor selectate.
Pentru testare, se poate folosi clasa Test05 pusă la dispoziție în arhiva laboratorului. Extensiile acceptate se citesc din fișierul extension.in, iar cuvintele din fișierul words.in, folosind obiecte de tipul RandomAccessFile.