Am Donnerstag, 29. September 2005 17:37 schrieb Ernst May-Jung:
> Hallo Silverio,
>
> Am Donnerstag 29 September 2005 15:29 schrieb [EMAIL PROTECTED]:
> > ich habe ein Programmier-Problem: ich möchte auf 2 Objekte sowohl einzeln
> > als auch zusammen als Einheit ansprechen.
>
> Wie unterscheiden sich diese Objekte? Gehören Sie zur selben Klasse?
Ja.

> > Beispiel:
> > Text1: x, y
> > Text2: x, y
> > Text3: x, y
> > Text4: x, y
>
> Was ist das? 4 Objekte mit var x; und var y;? Oben sprichst Du von zweien.
Ja, 4 Objekte mit je var x und var y. Mit "2 Objekte" meinte ich die beiden, 
die zusammengehören: Text2 und Text3.

> > Ich möchte in einer foreach-Schleife alle mit setX() stellen. Da aber
> > Text2 und Text3 zusammengehören,
> Wie gehören die zusammen?
Alles, was mit Text2 passiert, soll auch mit Text3 stattfinden. Text2 gehört 
auch mit anderen Eigenschaften und Funktionen zusammen, habe ich aber der 
Einfachheit halber weggelassen. Z.B. möchte ich die Schriftgröße oder die 
Position beider gleichzeitig verändern, wenn der Text nicht passt.

> > möchte ich beide mit einem Aufruf gemeinsam
> > ändern: Text2_3->setX().
> Warum nicht nacheinander aufrufen?
Weil beide als Einheit zusammen behandelt werden. 

> > Ich habe da schon an einen Wrapper gedacht, der
> > die Funktionen überlädt, so dass ich innerhalb des Wrappers nacheinander
> > die Funktionen Text2->setX() und Text3->setX() ausführen kann,
> > aber dann
> > muss ich doch alle Objekte in den Wrapper nehmen, damit sie vom gleichen
> > Typ sind, oder?
> Kannst du Objekte einer anderen Klasse zuordnen? Wierum denkst Du?
Ich dachte an ein array, das innerhalb des wrappers reihum aufgerufen wird. 
Trotzdem, ich finde es zuviel Arbeit, für alle Funktionen die entsprechenden 
foreach-Aufrufe auf die im array enthaltenen Objekte zu schreiben. Gibt es 
evtl. eine andere Möglichkeit Objekte gleichen Typs wie ein einzelnes zu 
behandeln?

> In Java-Skript gibt es aufrufe wie blafahsel($this).
> Das geht in PHP auch Du kannst also eine externe Funktion schreiben, zur
> Verwendung in verschiedenen Klassen und dann aus der Klasse heraus
> extereneFunktion($this) aufrufen.
Ich rufe aber Funktionen in der Klasse auf, die selbst nicht weiss, dass sie 
mit einer anderen verbunden ist. Alle Funktionen mit dieser Technik 
auszustatten ist auch nicht machbar.

> Für Dein Fall, vielleich machMitDenDatenWasDuWillst($Text1, $Text2).
> Natürlich übergibst Du nur die Adressen der Objekte.
Das hilft nicht mit foreach.

> Gruß
>      Ernst
Danke
Silvério
-- 
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an