Salve a tutti, ho sostenuto un esame di programmazione prendendo 18 allo scritto e sembra che all'orale chieda le cose sbagliate nello scritto.

Qualcuno potrebbe aiutarmi a capire come si risolve questo? (ho tolto tutte le parti riguardanti le eccezioni perché non mi interessano al momento)

1) Si dia la funzione di astrazione e l'invariante di rappresentazione della classe Set e si implementi il costruttore ed il metodo add

codice:
public class Set{
//OVERVIEW:  un Set è un insieme di oggetti omogenei. È modificabile.

private Class insieme;
private Vector v;

public Set(Class a){
//EFFECTS: inizializza this all'insieme vuoto di tipo a }

public void add(Object a){
//EFFECTS: inserisce a in this.
//MODIFIES: this }

public boolean IsIn(Object a){
//EFFECTS: restituisce true se a compare in this e false se non compare }

public Iterator elements(){
//EFFECTS: restituisce un generatore che fornisce tutti gli elementi di this in ordine arbitrario }
}

2) Si implementi una sottoclasse che estende Set con un metodo union che, preso un Set a come parametro, modifica this realizzando l'unione con a.


Questo esercizio valeva 18 punti ma io ne ho presi solo 6, il fatto è che non so cosa ho fatto giusto e cosa no
Qualcuno mi può aiutare cortesemente?