Programmazione generica java

valerik1
premetto che ho fatto lo stesso post in università perchè urgo per necessità di esame impellente veloci risposte ^^

Salve a tutti!! già ho trovato un'anima pia che mi ha chiarito alcune formule fisiche,ora invece avrei bisogno di un aiuto in Programmazione orientata agli oggetti (p.o.o.).

L'argomento più ostico concorderete che è la programmazione con i generici.
Ed è proprio qui che inizia il mio problema.

Sto facendo appelli per l'esame,ma vorrei sapere se conoscete qualche guida "chiara" che spieghi bene questi processi...

Se invece potete darmi qualche consiglio vi espongo più a fondo il dubbio...

L'esercizio parte da un interfaccia generica:
public interface Insieme > extends Iterable{
int size();
boolean vuoto();
boolean pieno();
boolean aggiungi(T x);
boolean rimuovi(T x);
boolean appartiene(T x);
boolean sottinsieme(Insieme y);
Insieme unione(Insieme y);
Insieme intersezione(Insieme y);
Insieme differenza(Insieme y);
Insieme differenzaSimmetrica(Insieme y);
}

tranne il tutto chiaro...

fare una classe astratta:
public abstract class InsiemeAstratto2 implements Insieme{
public abstract int size();
public abstract boolean vuoto();
public abstract boolean pieno();
public abstract boolean aggiungi(T o);
public abstract boolean rimuovi(T o);
public abstract boolean appartiene(T o);
public abstract boolean sottinsieme(Insieme i);
public abstract Insieme creaInsieme();
public abstract Comparable[] elementi(Insieme z);


1° dubbio come parametri dei metodi, passo Object o sempre il parametrico?
dopo notti passate sono giunto alla conclusione che mi conviene usare i generici, solo che ad esempio all'ultimo metodo(da una collection faccio un array) come tipo è comparable... e la cosa nn mi convince appieno...

Risposte
freddofede
Passare Object non è mai una buona pratica. Usa i generici.
Quel "super" comunque, invece che controllare se il paramentro è un sottotipo di T, controlla se è un suo supertipo...

In ogni caso, questa mi pare una buona guida, che usai anche io ai suoi tempi per l'esame di metodologie di programmazione.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.