Call by Reference: Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Unter '''Call by Reference''' versteht man das Übergeben von Objektreferenzen an Methoden. Eine Variable mit einem Objektdatentyp spe…“) |
|||
Zeile 1: | Zeile 1: | ||
− | Unter '''Call by Reference''' versteht man das Übergeben von [[Referenz|Objektreferenzen]] an Methoden. | + | Unter '''Call by Reference''' versteht man das Übergeben von [[Referenz|Objektreferenzen]] an [[Methoden]]. |
− | Eine Variable mit einem [[Objekt|Objektdatentyp]] speichert nicht das Objekt selbst, sondern nur eine Referenz auf dieses Objekt. Wird also eine | + | Eine [[Variable]] mit einem [[Objekt|Objektdatentyp]] speichert nicht das Objekt selbst, sondern nur eine '''Referenz''' auf dieses Objekt. Wird also eine '''Objektvariable''' an eine Methode übergeben, wird nur eine '''Kopie der Referenz''' auf ein Objekt übergeben, nicht jedoch eine Kopie des Objektes selbst. Dadurch haben anschließende Änderungen an [[Attribut|Attributen]] des Objektes in der aufgerufenen Methode Einfluss auf die Attribute des Objektes außerhalb der Methode. |
− | Alle Variablen, die | + | Alle Variablen, die dieselbe '''Referenz''' besitzen, erfahren dadurch die Änderungen an dem Objekt hinter der Referenz. Dies steht im Kontrast zu Variablen mit [[Primitiver Datentyp|primitivem Datentyp]]. Ihr Wert wird immer direkt übergeben und nicht die Referenz auf den Speicherbereich, in dem der Wert zu finden ist (siehe [[Call by Value]]). |
Version vom 13. September 2016, 11:15 Uhr
Unter Call by Reference versteht man das Übergeben von Objektreferenzen an Methoden.
Eine Variable mit einem Objektdatentyp speichert nicht das Objekt selbst, sondern nur eine Referenz auf dieses Objekt. Wird also eine Objektvariable an eine Methode übergeben, wird nur eine Kopie der Referenz auf ein Objekt übergeben, nicht jedoch eine Kopie des Objektes selbst. Dadurch haben anschließende Änderungen an Attributen des Objektes in der aufgerufenen Methode Einfluss auf die Attribute des Objektes außerhalb der Methode.
Alle Variablen, die dieselbe Referenz besitzen, erfahren dadurch die Änderungen an dem Objekt hinter der Referenz. Dies steht im Kontrast zu Variablen mit primitivem Datentyp. Ihr Wert wird immer direkt übergeben und nicht die Referenz auf den Speicherbereich, in dem der Wert zu finden ist (siehe Call by Value).