Helmichs Informatik-Lexikon

Parameter

Parameter sind Variablen, die dazu dienen, einer Methode beim Aufruf bestimmte Informationen zu übergeben. Zum Beispiel muss eine Methode namens setzeNeuePosition() die Koordinaten der neuen Position mitgeteilt bekommen. Daher schreibt man bei der Definition der Funktion die so genannten formalen Parameter in runde Klammern hinter den Methodenbezeichner:

public void setzeNeuePosition(int x, int y) 
{ 
   xpos = x;
   ypos = y;
   …
}
Formale Parameter

Hier sehen wir zwei formale Parameter vom Typ int, nämlich x und y. Ein formaler Parameter hat also einen Namen (hier: x und y) und einen Datentyp (hier: int).

Formale Parameter

Das sind die Parameter, die bei der Definition einer Methode in die runden Klammern geschrieben werden. Ein formaler Parameter besteht aus dem Datentyp und einem Bezeichner. Mehrere formale Parameter werden durch Kommata getrennt.

Aktuelle Parameter

Beim Aufruf einer Methode, z.B. so:

   macheDies();
   setzeNeuePosition(200,100);
   macheDas();
werden konkrete Werte als aktuelle Parameter übergeben, hier also 200 und 100.

Der konkrete Wert 200 wird beim Aufrufen der Funktion in den formalen Parameter x hineingeschrieben, der konkrete Wert 100 in den formalen Parameter y. Wenn setzeNeuePosition() ausgeführt wird, haben die Parameter x und y also tatsächlich die Werte 200 bzw. 100. Durch die beiden Zuweisungen in unserer Beispielfunktion haben dann auch die Attribute xpos und ypos die Werte 200 bzw. 100.

Aktuelle Parameter

Das sind die Werte, die bei dem Aufruf einer Methode in die runden Klammern geschrieben werden. Ein aktueller Parameter kann ein konkreter Wert sein wie zum Beispiel 200, true oder "Hallo" oder auch ein Objekt - je nachdem, was der entsprechende formale Parameter vorschreibt. Man kann aber auch Variablen als aktuelle Parameter übergeben, wie das folgende Beispiel zeigt:

int x = 10; int y = 20;
setzeNeuePosition(x,y);

Mehrere aktuelle Parameter werden durch Kommata getrennt.

Hier noch eine wichtige Regel, die aber eigentlich ganz selbstverständlich sein sollte:

Beim Aufrufen einer Funktion müssen die aktuellen Parameter in Anzahl, Datentyp und Reihenfolge mit den formalen Parametern übereinstimmen.

Richtige Aufrufe von setzeNeuePosition(int x, int y) sind zum Beispiel:

  • setzeNeuePosition(400, 20);
    hier werden zwei Zahlenkonstanten übergeben
  • setzeNeuePosition(neu, neu);
    hier werden zwei int-Variable übergeben

Fehlerhafte Aufrufe von setzeNeuePosition(int x, int y) sind zum Beispiel:

  • setzeNeuePosition(400);
    hier wird nur ein Parameter übergeben
  • setzeNeuePosition("Yellow", "Green");
    hier werden zwei Parameter des falschen Datentyps übergeben
  • setzeNeuePosition(int x, int y);
    hier wurde die falsche Syntax gewählt, nämlich die einer Methoden-Definition und nicht die eines Methoden-Aufrufs. Dieser Fehler ist übrigens sehr beliebt bei Schülern, und natürlich auch bei Schülerinnen.
  • setzeNeuePosition(Neu, Neu);
    hier ist formal alles korrekt, doch hat der Programmierer aus Versehen zuerst die neue Y-Koordinate übergeben und dann die neue X-Koordinate. In der Funktion erhält dann das Attribut xpos den neuen Y-Wert zugewiesen und ypos den neuen X-Wert.
Variable Parameter

Oft werden Methoden benötigt, bei denen man beim Entwurf noch nicht weiß, wie viele Werte als Parameter übergeben werden müssen. Um dieses Problem zu lösen, gibt es mehrere Verfahren, die im Lexikon-Eintrag "Variable Parameter" näher erläutert werden.