> > 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
