> 
> Das Thema wird langsam interessant und weckt meine Neugier. 
> 
> Also gesucht sind Konstruktoren.  
> VBScript kann es nicht
> JavaScript schon
> Class_Initialize() und Class_Terminate() sind keine Konstruktoren
> 
> 
> Was sind dann Konstruktoren und wozu kann man die in der Praxis
> gebrauchen?
> 

Jede ordentliche objektorientierte Programmiersprache besitzt
Konstruktoren, jede effiziente objektorientierte Programmiersprache
unterst�tzt Destruktoren ;-)

Wenn die Instanz einer Klasse erzeugt wird, mu� zun�chst in irgend einer
Weise Speicher allokiert werden, der dann dieses Objekt aufnehmen kann.
In der Regel enth�lt dieser Speicherbereich mehr oder weniger zuf�llige
Bytes oder Null. Damit wird nat�rlich in der Regel kein sinnvoller
innerer Zustand des Objekts repr�sentiert. Daher wird nach der
eigentlichen Allokation der Konstruktor der Klasse aufgerufen. Der
Konstruktor-Code initialisiert nun den Speicher mit sinnvollen Werten
und allokiert gegebenenfalls weiteren Speicher f�r aggregierte Objekte.
Zudem kann weiterer beliebiger Code ausgef�hrt werden.

Umgekehrt werden Destruktoren aufgerufen, bevor der f�r das Objekt
angeforderte Speicher wieder freigegeben wird. Dadurch bietet sich die
Gelegenheit, die nach au�en nicht sichtbaren aggregierten Objekte wieder
freizugeben und weitere Aufr�umaktionen duchzuf�hren.

Nicht jede Programmiersprache, die Konstruktoren unterst�tzt, hat auch
Destruktoren. Vor allem Sprachen mit Garbage-Collection verzichten
darauf und bieten allenfalls irgendwelche Finalizer an die aber nicht
zwingend von der Runtime aufgerufen werden (Beispiel: Java, aber das ist
auch nicht effizient;-).

Gru�,
Alex

| [aspgerman] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspgerman/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspgerman.asp

Antwort per Email an