Salve a tutti, ho una struttura di classi di questo genere:
Gli oggetti di tipo B sono contenuti in liste degli oggetti A, e hanno un riperimento all'oggetto stesso che li contiene per poterci lavorare (e/o accedere ad altri oggetti di tipo B contenuti nella lista del medesimo oggetto A)Codice PHP:public class A implements Cloneable
{
protected List[B] list;
public A()
{
list = new LinkedList[B]();
}
...//metodi che modificano la lista list (inseriscono elementi di tipo B, o derivati)
public Object clone() throws CloneNotSupportedException {
A clone = (A) super.clone();
clone.list = new LinkedList[B]();
for(B b:list)
{
clone.list.add((B) b.clone());
}
return clone;
}
}
public class B implements Cloneable
{
protected A owner;
protected C dato;
public B(A owner)
{
this.owner = owner;
}
public Object clone() throws CloneNotSupportedException {
B clone = (B)super.clone();
clone.owner = [COLOR=limegreen][B]????[/B][/COLOR] // come faccio a fare in modo che punti all oggetto giusto? (il clone a cui e' stato assegnato)
clone.dato = (C) this.dato.clone();
return clone;
}
}
(L'idea e' quella di sviluppare una sorta di architettura a componenti dove un oggetto A e' formato dalla somma di oggetti B (i componenti) che modificano A e interagiscono tra loro)
Non vorrei aver sbagliato io a concepire la struttura di un architettura simile, in tal caso sono ben accetti suggerimenti.
come si può fare ?

Rispondi quotando