Paola Magillo, Univestita' di Genova,
Corso di Programmazione II per SMID, a.a. 2005-2006.
Laboratorio 02 bis:
CLASSI ASTRATTE E INTERFACCE
-
Scrivere in Java le classi "Rectangle", "Triangle" e "Circle",
cla super-classe astratta "Figure" che le unifica, e la classe
"FigureTest" che calcola l'area totale delle figure in un array di figure
varie (vedere lezione 5).
Compilare ed eseguire la classe FigureTest.
-
Scrivere una variante di FigureTest che calcola, oltre all'area totale,
anche separatamente la somma delle aree dei rettangoli,
quella dei triangoli e quella dei cerchi contenuti nell'array.
-
Provare a dichiarare "Figure" come interfaccia invece che come
classe astratta, e le classi "Rectangle", "Triangle" e "Circle"
non come sotto-classi, ma come classi che implementano l'interfaccia.
Cambia qualcosa?
-
Scrivere in Java la classe "lista di oggetti generici", esclusa la
funzione "print"
(vedere sempre lezione 5),
e scrivere un "main" dove si costruisce una lista di
figure varie (analogo all'array di figure varie dell'esempio FigureTest).
-
Scrivere un'interfaccia "Printable" che dichiara come unico metodo
la funzione "void print()".
Fare si' che le tre classi "Rectangle", "Triangle" e "Circle"
implementino "Printable".
-
Modificare la lista di oggetti generici per farla diventare una
lista di oggetti "printable".
Aggiungere alla classe lista il metodo di stampa "print"
(che al punto 4 avevamo tralasciato), facendo si' che la lista
stampi i suoi oggetti utilizzando il loro metodo "print".
-
Modificare il main scritto al punto 4 facendo si' che
stampi la lista di figure varie dopo averla costruita.