.. highlightlang:: us .. index:: obj_set_parent .. _obj_set_parent: obj_set_parent ============== .. us.tag obj_set_parent NOTREADYGERMAN obj New410 Changed5502 :ref:`obj_set_parent` setzt das Parent-Objekt. .. function:: bool = obj_set_parent(obj, parent) .. us.return **Returnwert** *bool* ist TRUE (1), wenn die Funktion erfolgreich war. .. us.params **Parameter** .. uparam:: obj *obj* ist ein mit :ref:`obj_create` erzeugtes Objekt. .. uparam:: parent *parent* ist ein mit :ref:`obj_create` erzeugtes Objekt. .. us.comment **Kommentar** Die :ref:`obj_set_parent`-Funktion kopiert die key-value-Paare von *parent* nach *obj*. Beispiel:: o = [. a = 1, b = 2 ]; o1 = [. c = 3, d = 4 ]; o1.set_parent(o); *o1* hat nun die Variablen a, b, c, d. Anstatt ``set_parent`` kann auch folgende Anweisung geschrieben werden:: o1 = [. __parent__ = o; c = 3, d = 4 ]; Enthält *o* Zeiger auf Objekte, wird nur der Zeiger kopiert. Bis zur Version UniPlot R2013.2 wurde eine Kopie des Objekts erzeugt. Außerdem wird durch die Anweisung ``set_parent`` oder ``__parent__`` eine Referenz auf das Parent-Objekt in *obj* gespeichert. *obj* "erbt" dadurch alle Methoden von *parent*. Wird dann eine Methode ``obj.name(1,2)`` aufgerufen, wird, falls die Methode nicht vorhanden ist, die Methode ``obj.parent.name(1,2)`` aufgerufen. Dies wird rekursiv mit allen parent-Objekten versucht ``obj.parent.parent.name(1,2)``. .. us.history **History** .. list-table:: :header-rows: 1 * - Version - Description * - R2013.2 - Beim Kopieren der Member-Variablen werden bei Objekten nur Referenzen kopiert und nicht die Objekte. Siehe oben. * - 4.1.0 - New. .. seealso:: :ref:`uberblick-uniscript-objekte`, :ref:`obj_parent`, :ref:`obj_set_methods` :sub:`id-1665813`