G
Guest
Gast
Ich eine Klasse namens Gruppe erstellt.
Was ich gern haben möchte ist, daß beim beim Clonen der Bauteile auch die Innereien mitgeklont werden und nicht bloß die Referenzen.
Würde folgendes ausreichen:
1. Vector klonen
2. durch den Vector laufen und bei den jeweiligen Objekten die clone - Methode aufrufen (Die clone -Methode müssen
alle Zeichenobjekte implementieren).
Wenn nicht, was muss ich dann machen?
Die Objekte der folgenden Klassen - Linien, Rechteck, Oval, Kreis,Text, Bezier - die jeweils die clone - Methode realisieren, d.h. sie liefern tatsächlich eine Kopie des Objektes. Und der Vector dient als Sammlung von derartigen Objekten.
[/code]
Was ich gern haben möchte ist, daß beim beim Clonen der Bauteile auch die Innereien mitgeklont werden und nicht bloß die Referenzen.
Würde folgendes ausreichen:
1. Vector klonen
2. durch den Vector laufen und bei den jeweiligen Objekten die clone - Methode aufrufen (Die clone -Methode müssen
alle Zeichenobjekte implementieren).
Wenn nicht, was muss ich dann machen?
Die Objekte der folgenden Klassen - Linien, Rechteck, Oval, Kreis,Text, Bezier - die jeweils die clone - Methode realisieren, d.h. sie liefern tatsächlich eine Kopie des Objektes. Und der Vector dient als Sammlung von derartigen Objekten.
Code:
public class Gruppe
{
private Vector bauteile=null;
public Gruppe(Vector x)
{bauteile = new Vector();
for (Enumeration e = x.elements(); e.hasMoreElements(); )
{
Object obj = e.nextElement();
System.out.println(((IZeichenoperationen_2) obj).getClass().toString());
bauteile.add(((IZeichenoperationen_2) obj));
}
}
public Object clone()
{
try
{
Gruppe tmp = (Gruppe) super.clone();
tmp.bauteile = (Vector) bauteile.clone();
return tmp;
}
catch(CloneNotSupportedException e)
{
return null;
}
}
}