Antworten auf deine Fragen:
Neues Thema erstellen

Referenzierung auf Klasseneigenschaften

Christian

verpeilt & verschallert

Huhu,
mal eine Frage:
Also weithin ist ja bekannt, dass man bei der Referenzierung eine Referenz auf die jeweilige Speicheradresse herstellt. Auch bekannt dürfte sein, dass man Referenzen über & erzeugt.
Nun ist es in der OOP ja so, dass man bei der Zuweisung von Objekten grundsätzlich immer eine Referenz erzeugt, solange man nicht die c.lone Funktion nutzt.
Jetzt zu meiner Frage, die zweiteilig ist:
1. Gilt das Referenzierungsprinzip auch innerhalb von Methoden eines instantiierten Objekts?,
damit meine ich ob $od = $this->orderData den selben Effekt hat wie $od = &$this->orderData.
2. Nehmen wir mal an, man muss die 2. Methode zur Referenzierung nutzen und $this->orderData ist ein Array was riesig ist.
Ist eine Referenzierung bei sehr großen Datenmengen sinnvoller, als eine Kopie davon erstellen zu lassen?
Tut mir leid meine Sprachmotorik lässt heute zu wünschen übrig.
Also zur 2. Frage ein einfaches Beispiel bei dem $array ein riesiges Datenvolumen enthält (nun mal außerhalb von OOP):

ist

$a = $array;

sinnvoll, oder eher:

$a = &$array;

auch wenn man nicht vor hat die Daten in $array zu manipulieren?


Ich hoffe Ihr versteht was ich gerade will :)
 

Duddle

Posting-Frequenz: 14µHz

AW: Referenzierung auf Klasseneigenschaften

Zu 2., prinzipiell sollte eine Kopie mindestens so teuer sein wie eine Referenz. Da spielt die Größe des Arrays keine Rolle. Hier musst du aber wieder abwägen, was lesbarer / wartbarer ist, und ob du mglw. nicht doch später etwas verändern willst.

Duddle
 

saila

Moderatorle

AW: Referenzierung auf Klasseneigenschaften

Huhu,
mal eine Frage:
Also weithin ist ja bekannt, dass man bei der Referenzierung eine Referenz auf die jeweilige Speicheradresse herstellt. Auch bekannt dürfte sein, dass man Referenzen über & erzeugt.
Nun ist es in der OOP ja so, dass man bei der Zuweisung von Objekten grundsätzlich immer eine Referenz erzeugt, solange man nicht die c.lone Funktion nutzt.
Jetzt zu meiner Frage, die zweiteilig ist:
1. Gilt das Referenzierungsprinzip auch innerhalb von Methoden eines instantiierten Objekts?,
damit meine ich ob $od = $this->orderData den selben Effekt hat wie $od = &$this->orderData.
2. Nehmen wir mal an, man muss die 2. Methode zur Referenzierung nutzen und $this->orderData ist ein Array was riesig ist.
Ist eine Referenzierung bei sehr großen Datenmengen sinnvoller, als eine Kopie davon erstellen zu lassen?
Tut mir leid meine Sprachmotorik lässt heute zu wünschen übrig.
Also zur 2. Frage ein einfaches Beispiel bei dem $array ein riesiges Datenvolumen enthält (nun mal außerhalb von OOP):

ist

$a = $array;

sinnvoll, oder eher:

$a = &$array;

auch wenn man nicht vor hat die Daten in $array zu manipulieren?


Ich hoffe Ihr versteht was ich gerade will :)

Hi,

zur 1. Frage:
Ja hat den gleichen Effekt und bei der Operatiorenvoransetzung noch den zusätzlichen Vorteil, dass die zugewiesene Variable entsprechend verändert werden kann. Würde man eine einfache Zuweisung setzen ($a = $this->Date) würde eine Änderung innerhalb des weiteren Verlaufs entsprechende Konsequenzen haben. Sprich - du kannst $a = $this->Data als auch $aB = &$this->Data verwenden, wobei wie gesagt in der letzteren Variante innerhalb $aB dann Veränderungen folgen könnten. Falls grundlegend keine Änderungen erfolgen, ist die zweite Variante überflüssig.

zur 2. Frage:
Im Grunde wie die erste Antwort. Je nach dem wie du die Daten weiter für die Verarbeitung oder Ausgabe aufbereiten möchtest. Liegt im weiteren Verlauf keine Veränderung vor, nimm die übliche Variante. Falls doch, kannst du immer noch auf die zweite Zurückgreifen um entsprechende Änderungen vornehmen zu können.

Falls ich die Fragen richtig verstanden habe :)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.068
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben