PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Konstruktoren und Destruktoren??



Senfgurke
19.02.2002, 17:55
Hi,

ähm kann mir einer erklären was Konstruktoren und Destruktoren sind? UNd welchen Sinn sie haben?

Danke,
cu

Exotec
19.02.2002, 18:56
moin.
Mit einem Konstruktor werden Objekte erzeugt, und mit einem Destruktor wieder gelöscht.Selbst wenn du keine deklarierst, wird automatisch vom Compiler jeweils einer erzeugt.Diese nennt sich Standardkon- bzw. destruktor.Diese Standardstruktoren nehmen keine Argumente auf und machen keine Aktionen, ausser erstellen und zerstören.Sobald man aber selbst einen erstellt, wird der Standardkon- bzw. destruktor nicht mehr verwendet.

cu
-=The_Exotec=-

Most Significant Byte
19.02.2002, 20:11
Hi,

Konstruktoren sind dazu da, um ein Objekt bei der Erzeugung sofort zu initialisieren. Hat z.B. eine Klasse "Thermometer" eine Membervariable "Temperatur", so kann diese im Konstruktor sofort auf einen Anfangswert gesetzt werden. Ein Konstruktor ist auch überladbar, d.h. er kann mehrere Signaturen besitzen, also unterschiedliche Parameter bei der Erzeugung eines Objekts übernehmen.

Destruktoren sind gegenteilig zu Konstruktoren für die Aufräumarbeiten da, sie werden bei der Zerstörung eines Objekts aufgerufen, z.B. am Ende eines Blockes, in dem das Objekt angelegt wurde. Destruktoren werden z.B. benötigt, um Speicher freizugeben, den das Objekt einmal in einer seiner Methoden anforderte. Würde dieser nicht mehr freigegeben, würde bei jeder Verwendung der speicheranfordernden Methode eines solchen Objekts neuer Speicher bereitgestellt werden, was ein Ressourcen-Leck darstellen würde, da auf diese Weise der erforderliche Speicher ständig wüchse und irgendwann keiner mehr vorhanden wäre.

MfG,
MSB