obj_set_parent setzt das Parent-Objekt.
Returnwert
bool ist TRUE (1), wenn die Funktion erfolgreich war.
Parameter
obj ist ein mit obj_create erzeugtes Objekt.
parent ist ein mit obj_create erzeugtes Objekt.
Kommentar
Die obj_set_parent-Funktion kopiert die key-value-Paare von parent nach obj und speichert sich eine Referenz auf das Parent-Objekt. obj “erbt” dadurch alle Eigenschaften 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).
Beispiel
Es soll ein Objekt erzeugt werden, das ein Attribut mit dem Namen type enthält. Dieses Objekt kann dann als Basis-Objekt für weitere Objekte verwendet werden.
def object_set_type(o, tp)
{
o["$type"] = tp;
}
def object_get_type(o)
{
return o["$type"];
}
def object_create(_type)
{
o = obj_create();
o["$type"] = _type;
f = obj_create();
f.__setprop__ = obj_create();
f.__setprop__.type = "object_set_type";
f.__getprop__ = obj_create();
f.__getprop__.type = "object_get_type";
o.set_methods(f);
return o;
}
def my_obj()
{
o = obj_create();
p = object_create("my_obj");
o.set_parent(p);
return o;
}
o = my_obj();
print o.type
Siehe auch
id-1665813