Zum Inhalt springen

Konstruktoren und Destruktoren

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. Dezember 2004 um 12:14 Uhr durch Niewieder (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Konstruktoren und Destruktoren sind spezielle Prozeduren welche die Erzeugung und Zerstörung von Variablen begleiten.

Der Konstruktor wird bei der Erzeugung der Variablen aufgerufen. Er wird üblicherweise dazu verwendet, um den Startwert der Variablen zu setzen. Dabei besteht in der Regel die Möglichkeit, unterschiedliche Startwerte mit Hilfe der Aufrufparameter des Konstruktors vorzugeben. Durch den Konstruktor wird die Variable also in einen definierten Anfangszustand versetzt. Dieser Vorgang nennt sich auch Initialisierung.

Der Destruktor wird dagegen bei der Zerstörung der Variablen aufgerufen, und erledigt ggf. Aufräumarbeiten. Dieser Vorgang heißt dann Deinitialisierung.

Typische Anwendungsfälle für Konstruktoren und Destruktoren sind die Belegung und Wiederfreigabe von Systemressourcen, so etwa Netzwerkverbindungen. In manchen Programmiersprachen können Konstruktoren und Destruktoren auch dazu verwendet werden, um für die Variable erforderlichen Speicherplatz anzufordern (im Konstruktor) oder wieder freizugeben (im Destruktor).

Programmiersprachen wie Java oder Python verwenden das zu Destruktoren alternative Konzept der Finalisierung, bei der die Deinitialisierung nicht zum frühest möglichen Zeitpunkt, sondern erst mit dem nächsten Lauf der Garbage-Collection durchgeführt wird. Die Prozedur, die dies erledigt, nennt sich Finalisierungsroutine oder Finalisierer. Finalisierer haben im Vergleich mit Destruktoren einige Einschränkungen. So können z.B. Finialisierer im Allgemeinen nicht auf andere Variablen verweisen, da es sein kann, dass diese bereits abgebaut wurden. (Näheres hierzu: Siehe Finalisierung.)

Siehe auch: Finalisierung, Speicherverwaltung