DefconDev
Commander
- Registriert
- Jan. 2008
- Beiträge
- 2.608
Ich möchte mich eigentlich absichern.
In Java gibt es nur call by value, wenn eine Methode eine globale Variable(primitiver Datentyp) übergeben bekommt, kann die lokale Variable die globale nicht verändern, weil es nur eine Kopie des Wertes ist und nicht der Wert selber.
Bei Objekten verhält sich das ähnlich, meine ich jedenfalls, hier wird nicht die Referenz(Zeiger) übergeben sondern auch nur die Kopie der Referenz. Damit kann ich dann mit zwei Zeigern auf das selbe Objekt bzw. Speicheradresse zeigen. Und mit der kopierten Referenz kann ich dann auch globale Änderungen vornehmen, also Eigenschaften des Objekts.
Was ich mich nun Frage, im Vergleich zu anderen Programmiersprachen, was ist der Sinn oder der Unterschied defacto wenn ich eine Kopie eines Zeigers erstelle und übergebe oder nur den original Zeiger!?
Wenn ich mit dieser Erklärung auch falsch liege, dann tut es mir leid, aber im Inet wird da einiges durcheinander geworfen.
Ich persönlich würde es in zwei Sachen unterteilen
call by value
und
call by copie reference
In Java gibt es nur call by value, wenn eine Methode eine globale Variable(primitiver Datentyp) übergeben bekommt, kann die lokale Variable die globale nicht verändern, weil es nur eine Kopie des Wertes ist und nicht der Wert selber.
Bei Objekten verhält sich das ähnlich, meine ich jedenfalls, hier wird nicht die Referenz(Zeiger) übergeben sondern auch nur die Kopie der Referenz. Damit kann ich dann mit zwei Zeigern auf das selbe Objekt bzw. Speicheradresse zeigen. Und mit der kopierten Referenz kann ich dann auch globale Änderungen vornehmen, also Eigenschaften des Objekts.
Was ich mich nun Frage, im Vergleich zu anderen Programmiersprachen, was ist der Sinn oder der Unterschied defacto wenn ich eine Kopie eines Zeigers erstelle und übergebe oder nur den original Zeiger!?
Wenn ich mit dieser Erklärung auch falsch liege, dann tut es mir leid, aber im Inet wird da einiges durcheinander geworfen.
Ich persönlich würde es in zwei Sachen unterteilen
call by value
und
call by copie reference
Zuletzt bearbeitet: