Laboratorio di Programmazione - A.A. 2004/05

Esercitazione 3

Parte 1.

Realizzare l'interfaccia Confrontabile per il confronto di due oggetti. Tale interfaccia contiene la seguente dichiarazione di funzione:

public int confrontaCon(Confrontabile c)

Il significato inteso di questa funzione è che essa restituisce -1 se l'oggetto di invocazione è più piccolo di c, restituisce 0 se l'oggetto di invocazione è grande come c, restituisce 1 se l'oggetto di invocazione è più grande di c. Tale interfaccia deve essere contenuta nel package utilita.

Parte 2.

Realizzare una Collezione Ordinata di oggetti qualsiasi che implementano l'interfaccia Confrontabile. La classe CollezioneOrdinata presenta le seguenti funzionalità:

La classe CollezioneOrdinata deve essere implementata all'interno del package utilita.

Suggerimento: Per realizzare i metodi della classe CollezioneOrdinata si prenda spunto dai metodi della classe Guardaroba svolti nell'esercitazione 2.

Parte 3.

Realizzare la classe Guardaroba (vedi esercitazione 2), all'interno del package packg, facendo uso della classe CollezioneOrdinata. Si ricorda che il Guardaroba ha un nome e una collezione di abiti depositati. Ogni abito consegnato è contrassegnato da un codice (una stringa) che lo identifica univocamente e la collezione degli abiti depositati nel guardaroba deve essere mantenuta ordinata rispetto a questo codice. Gli oggetti di tipo Abito sono rappresentati tramite una classe Java Abito già definita che si trova in un package packa, il cui codice è in packa.

Gli oggetti Guardaroba supportano le seguenti funzionalità:

Suggerimento: Per realizzare la classe Guardaroba facendo uso della classe CollezioneOrdinata, si realizzi una ulteriore classe CodiceAbito contenente un campo per il codice, un campo per l'abito e che implementi l'interfaccia Confrontabile.

Parte 4.

Verificare che i clienti della Guardaroba sviluppati nell'esercitazione 2 funzionino correttamente per questa seconda versione della classe Guardaroba.