Variablen to go

Closures in aktuellen Programmiersprachen

Wissen | Know-how

Eine Closure ist ein Programmierkonstrukt, das – richtig angewendet – viel Schreibarbeit spart und Code übersichtlicher macht. Eine Einführung am Beispiel von C#, C++, Objective-C, Java und JavaScript.

Eine Closure bezeichnet ganz allgemein eine anonyme Funktion zusammen mit einem Satz von Variablen aus dem umgebenden Code, auf den sie zugreift. Diese Zugriffsmöglichkeit bleibt auch erhalten, wenn der Kontext (Scope) verlassen wird, in dem die Funktion und die Variablen definiert wurden. Die zum Zeitpunkt der Definition der Closure vorhandenen und von ihr verwendeten Variablen werden sozusagen mit der Funktion zusammen eingeschlossen, daher der Name. Eine Closure lässt sich wie ein Funktionszeiger einer Variablen zuweisen und zu beliebiger Zeit aufrufen. Zum Zeitpunkt des Aufrufs verwendet sie dann die Werte der eingeschlossenen Variablen.

Closures stammen ursprünglich aus den funktionalen Programmiersprachen wie Scheme und sind dort elementare Sprachbestandteile. Inzwischen wurden sie auch in vielen modernen imperativen (prozeduralen) Sprachen implementiert. ...

Sie möchten wissen, wie es weitergeht?

Als c't-Plus-Abonnent gratis lesen

Anmelden als c't-Plus-Abonnent

weiterführende Links