blob: 79e3b9dd40d0f2dae216d1656b24acbac1124283 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001create_super()
2==============
3
4FUNKTION
5--------
6::
7
8 protected void create_super();
9
10DEFINIERT IN
11------------
12::
13
14 allen Standardobjekten
15
16ARGUMENTE
17---------
18::
19
20 keine
21
22BESCHREIBUNG
23------------
24::
25
26 Diese Funktion wird immer dann aufgerufen, wenn ein Objekt implizit durch
27 ein 'inherit' in einem erbenden Objekte geladen wird.
28 Normalweise muss man dieses so geladene Objekte nicht konfigurieren, weil
29 nur das Programm dieses Objektes fuer die erbenden Objekte interessant
30 ist, nicht seine Daten.
31 Was hier aber z.B. sinnvoll ist, ist das Abschalten des Resets, denn ein
32 Objekt, was nur dazu dient, dass es von anderen geerbt wird, braucht
33 keinen Reset, auch wenn es ein reset() definiert (was in erbenden Objekte
34 benutzt wird).
35 Die create_super() in den Standardobjekten tun momentan genau dieses.
36
37RUeCKGABEWERT
38-------------
39::
40
41 keiner
42
43BEMERKUNGEN
44-----------
45::
46
47 Wenn ihr von /std/ erbt, braucht ihr euch in aller Regel um diese
48 Funktion keine Gedanken machen.
49 Ihr koennt diese Funktion aber in Objekten selber definieren, die nur zum
50 Erben gedacht sind. Dies kann sinnvoll ein, wenn ihr nicht von /std/ erbt
51 und ein reset() im Objekt habt oder was machen wollt, was ueber das
52 Abschalten des Resets hinausgeht.
53
54BEISPIELE
55---------
56::
57
58 Gegeben sei folgende Vererbungskette:
59 /std/room -> /d/inseln/zesstra/stdraum -> /d/inseln/zesstra/raum
60
61 Wird nun 'raum' geladen und 'stdraum' ist noch nicht geladen, wird der
62 Driver implizit von selbst 'stdraum' laden (weil 'raum' das Programm von
63 'stdraum' braucht). Bei diesem Laden wird das create() in 'stdraum' nicht
64 ausgefuehrt, sondern stattdessen create_super().
65
66
67
68SIEHE AUCH
69----------
70::
71
72 create(L), reset(L)
73 hook(C), create(H), create_ob(H), create_super(H, reset(H)
74 create(A), reset(A)
75
7622.10.2007, Zesstra
77