FabioJ ha scritto:
Per dire il vero questo esercizio l'ho gia' risolto o parzialmente risolto in questo momento non mi ricordo lo devo rivedere.
E' uno dei primi esercizi che ho affrontato per capire il polimorfismo e l'ereditarietà.
Ok, bene.
FabioJ ha scritto:
In riferimento a questo esercizio devo capire bene il ruolo della classe generica e perché si usa .
Per esempio : quando dici crei una Lista<Figura> ...etc .. intendi dire un'interfaccia Figura che ha al suo interno una lista ?
Oppure Lista<Figura> va inserita nel main ?
No, attenzione. Figura può essere una classe astratta o una interfaccia. Ai fini di un esercizio, la differenza non è molto rilevante. La cosa da tenere presente è che Figura NON è (non deve certo esserlo) una classe "generica" nel senso dei
generics di Java 5. E non deve nemmeno contenere alcuna lista. Una lista di figure la crei tu in un'altra classe di Prova con il main, ad esempio.
Figura semplicemente deve fare principalmente da
supertipo, cioè un tipo più
generalizzato che "accomuna" più tipi differenti specifici come Cerchio, Quadrato, Triangolo, ecc...
FabioJ ha scritto:
public abstract class Figura
[ .... ]
Ok, lo stampaArea() non è certo "vitale" ma ok.
FabioJ ha scritto:
public class Cerchio
[ .... ]
Ok, il raggio può anche trattarlo come double. Però attenzione: Cerchio dovrebbe estendere Figura, altrimenti viene meno il polimorfismo di cui poi avrai bisogno con un List<Figura>