Parameter

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Ein Parameter – auch Übergabewert genannt – ist eine Variable, über die ein Computerprogramm mit Werten versorgt werden kann, die der Aufrufer des Programms festlegt. Diese Werte fließen in die Verarbeitungslogik des Programms ein und beeinflussen damit seine Arbeitsweise und sein Ergebnis.

Parameter werden vor allem für Prozeduren und Funktionen verwendet, um die Abläufe darin von den Daten des Aufrufers zu isolieren und eine flexible Verwendung zu ermöglichen.

Argument – Aus Sicht des Aufrufers heißt ein Wert, der im aufgerufenen Programm als Parameter empfangen werden soll, Argument. Die Verwendung dieses Begriffs ist, dem englischen Wiktionary zu Folge, von einer Bedeutung des Wortes Argument abgeleitet, die das Thema oder den Inhalt eines Dokuments bezeichnet. Der Wert, den man einem Programm übergibt, wird zum Argument, zum Inhalt des Funktionsparameters.

Die Unterscheidung zwischen Argument und Parameter ist keine Haarspalterei. Die Begriffe verhalten sich wie Stecker und Buchse bei einem Schlauchstecksystem – beide leiten Wasser durch, sind aber nicht das Gleiche. Und sie müssen zueinander passen, sonst funktioniert nichts.

Um bei diesem Bild zu bleiben - je nach Art des Anschlusses unterscheidet man verschiedene Arten der Parameterbindung. Die beiden Wichtigsten sind:

call-by-value
Dies ist die einfachste Form, sie entspricht einem Schlauchanschluss mit Wasserstopp: das Wasser läuft nur in eine Richtung. Call-by-value bedeutet, dass die Parameter des Unterprogramms eigenständige Datenspeicher darstellen, in denen eine Kopie der Argumente des Aufrufers abgelegt wird. Wenn das Unterprogramm den Speicherinhalt der Parameter verändert, beeinflusst das die Daten des Aufrufers nicht.
call-by-reference
Diese Bindung können Sie sich so vorstellen, dass kein Wasserschlauch verlegt wird. Statt dessen sagt das aufrufende Programm dem Unterprogramm: Verwende diesen Bottich hier - und zeigt damit auf einen seiner eigenen Datenspeicher. Vom Unterprogramm wird erwartet, dass klar definiert ist, was es mit diesem Bottich tut, so dass das aufrufende Programm wie gewünscht weiterarbeiten kann.

Konstrukteure von Programmiersprachen haben sich noch andere Arten der Parameterbindung ausgedacht, die für spezielle Anwendungsfälle relevant sind. In Sprachen wie JavaScript oder PHP kommen sie nicht vor. Schauen Sie in den verlinkten Wikipedia-Artikel, um mehr darüber zu erfahren.

Siehe auch

Weblinks