appello
Transcript
appello
Linguaggi di Programmazione II (6-7) Prova scritta Giugno 2005 Cognome e Nome: Numero di Matricola: S. La Torre e B. Masucci Spazio riservato alla correzione 1 /10 2 /10 3 /70 totale /90 1) [10 punti] Descrivere la classe Object e i suoi metodi. Fornire un esempio di sottoclasse di Object sovrascrivendo i metodi toString, equals e clone. 2) [10 punti] Descrivere brevemente il concetto di polimorfismo e la sua realizzazione in Java. Dare un breve esempio sull’uso del polimorfismo. 3) [70 punti totali] a. [15 punti] Definire la classe PolizzaBase per assicurazioni auto comprendenti la sola responsabilità civile (RC). Una polizza base è caratterizzata dalla targa del veicolo (ad esempio “CA 075 DS”) e dal valore assicurato RC. Oltre al metodo costruttore, la classe deve fornire i seguenti metodi: • String getTarga() • int getValoreRC() • int getPremioAnnuo() che restituisce il valore del premio annuale, pari ad 1/100 del valore assicurato • String toString() • boolean equals(Object o) • Object clone() b. [15 punti] Una polizza auto incendio e furto si differenzia da una polizza base in quanto prevede, in aggiunta al valore assicurato RC, un valore assicurato per incendio e furto del veicolo. Inoltre il premio annuale è pari ad 1/100 della somma dei valori assicurati RC ed incendio e furto. Definire la nuova classe PolizzaIncendioFurto motivando le scelte effettuate. c. [20 punti] Definire la classe AgenziaAssicurativa che fornisce i seguenti metodi: • Un costruttore che crea un archivio vuoto di polizze di assicurazioni per auto; • addPolizza(PolizzaBase p) che inserisce una polizza nell’archivio; • deletePolizza(PolizzaBase p) che cancella una polizza dall’archivio; • getPolizza(int i) che restituisce l’i-esima polizza nell’archivio; • cercaPolizza(String targa) che restituisce la polizza associata a targa; • sommaPremi() che restituisce la somma dei premi annuali di tutte le polizze nell’archivio. d. [20 punti] Scrivere un’applicazione grafica Java che gestisca un’agenzia assicurativa. Il programma deve creare un oggetto della classe AgenziaAssicurativa e fornire i pulsanti e i campi di testo per: inserire polizze, recuperare una polizza precedentemente inserita digitando la targa del veicolo, cancellare una polizza precedentemente inserita digitando la targa del veicolo e calcolare l’ammontare totale dei premi annuali delle polizze in archivio. Il programma deve visualizzare l’output in un’area di testo. Pag. 1