Ergänzung zum Theorieteil der Folge 1:

Parameter

Methoden mit Parametern

Kommen wir nun zum letzten Punkt dieses recht umfangreichen Theorieteils. Wir haben eben gesagt, dass man mit einer Methode wie nachRechts() ein Attribut um einen bestimmten Wert wie z.B. 50 Pixel verändern kann. Diese Methode kommt ohne zusätzliche Informationen aus. Wenn sie aufgerufen wird, so wird der X-Wert des Kreismittelpunktes eben um 50 Pixel erhöht.

Eine Methode wie neuePosition() dagegen benötigt eine genaue Angabe vom Benutzer, welche neue Position der Kreis nach dem Aufruf haben soll. Der Benutzer muss dies der Methode mitteilen. Um die neue Position festzulegen, muss der Benutzer der Methode zwei Werte übermitteln: Die neue X-Position, und die neue Y-Position. Dies geschieht mit Hilfe so genannter Parameter. Parameter sind Variablen oder Werte, die in der Parameterliste stehen.

Deklaration von Methoden mit Parametern

Dazu betrachten wir ein Beispiel

public void neuePosition(int x, int y)
{
   xpos = x;
   ypos = y;
}

Diese Methode arbeitet mit zwei Parametern. Jeder Parameter der Parameterliste muss für sich selbst deklariert werden. Man darf also nicht schreiben:

public void neuePosition(int x, y) 

Das wäre falsch.

Innerhalb der Methode werden die in den Parametern gespeicherten Werte dann den Attributen xpos und ypos zugewiesen. Dies hat zur Folge, dass die Werte jetzt sämtlichen anderen Methoden des Objektes zur Verfügung stehen. Die Parameter int x und int y leben nämlich nur so lange, wie die Methode neuePosition() ausgeführt wird. Nach Beendigung der Methode existieren die Parameter nicht mehr.

Aufruf von Methoden mit Parametern

Ein Aufruf der Methode neuePosition() könnte so aussehen:

neuePosition(70,100);

Da die Methode laut Deklaration zwei Parameter vom Typ int erwartet, müssen wir ihr beim Aufruf auch genau zwei int-Werte übergeben. Wenn wir die Methode so aufrufen würden:

neuePosition(70);

wäre dies falsch. Es werden zwei Parameter erwartet, übergeben wird hier aber nur einer. Auch der folgende Aufruf wäre falsch:

neuePosition(70, "100");

Zwar werden hier zwei Parameter übergeben, doch ist der zweite Parameter keine int-Zahl, sondern ein String. Das geht aber nicht. Nicht nur die Anzahl der Parameter muss übereinstimmen, sondern auch die Datentypen der übergebenen aktuellen Parameter müssen denen der deklarierten formalen Parameter entsprechen.

Parameter teilen den Methoden mit, wie die Attributwerte genau zu verändern sind.

Formaler Parameter
Die Variable, die bei der Deklaration der Funktion in die Parameterliste geschrieben wird.

Aktueller Parameter
Der Wert oder die Variable, die beim Aufruf der Funktion übergeben wird.

Zurück zum Theorieteil der Folge 1

Diese HTML-Seite wurde erstellt von Ulrich Helmich am 27. Mai 2005.