Homepage-Webhilfe Event-Banner

Funktionen

Funktionen dienen dazu, Quellcode zu gliedern und zu strukturieren. Des Weiteren werden Funktionen auch dazu verwendet, den dort notierten Code mehrmals nutzen zu können. Einige Funktionen (z. B. parseInt(), parseFloat()) und einige Klassen (z. B. Math, Date) sind in den sogenannten Libraries (zu Deutsch Bibliotheken) des SDKs enthalten. Diese können ohne weiteres verwendet werden. Wie man diese Funktionen bzw. Funktionen im Allgemeinen aufruft, haben wir ja bereits gelernt.

Nun wollen wir uns aber damit beschäftigen, wie man eigene Funktionen definiert. Funktionen befinden sich immer innerhalb einer Klasse (class-Block). Die Deklaration besteht dabei aus 5 Teilen: dem Zugriffsmodifizierer, dem Schlüsselwort function, dem Funktionsnamen, einem runden Klammernpaar (für Funktionsparameter) und dem Rückgabetyp. Zwischen dem runden Klammernpaar und dem Rückgabetyp muss zudem ein Doppelpunkt notiert werden. Auf die Funktionsparameter und den Rückgabetyp (aktuell verwenden wir hier void) gehen wir später noch genauer ein. Der Zugriffsmodifizierer kann private, public oder protected sein. Auf deren genaue Bedeutung gehen wir im Thema Objektorientierung nochmals ein. Der Funktionsname muss innerhalb der Klasse eindeutig sein und wird meistens ebenfalls in der Camel-Case-Schreibweise (mit kleinem Buchstaben am Anfang) angegeben.

Das folgende Beispiel zeigt den Aufruf der Funktion und darunter die Deklaration der Funktion:

gebeHalloAus();

Funktion gebeHalloAus():

private function gebeHalloAus():void
{
	trace("Hallo Welt!");
}

Ausgabe:

Hallo Welt!
Download

Um Funktionen mit Parametern zu definieren, müssen wir bei der Funktionsdeklaration innerhalb der Klammern Variablen deklarieren. Dabei wird der Name gefolgt von einem Doppelpunkt : und dem Typ angegeben. Mehrere Variablen bzw. Parameter können mittels Komma , (wie beim Aufruf) getrennt werden. Um einen Parameter als optional zu kennzeichnen, notieren wir nach dem Datentyp ein Gleichheitszeichen und den für den Parameter geltenden Standardwert. Dieser Standardwert gilt immer dann, wenn kein Wert für den Parameter übergeben wurde. Eine Funktion kann selbstverständlich mehrere Parameter haben, wovon auch mehrere optional sein können, jedoch müssen sich alle optionale Parameter am Ende befinden. Beim Aufruf ist das Auslassen von Parametern nicht möglich. Lediglich das Weglassen von Parametern am Ende (von rechts nach links) ist möglich. Die Namen der Funktionsparameter dürfen sich nicht mit den Variablennamen innerhalb der Funktion oder untereinander überschneiden.

gebeNamenAus("Kai");
gebeNamenAus("Lisa");
gebeNamenAus();

Funktion gebeNamenAus():

private function gebeNamenAus(name:String = "Peter"):void
{
	trace("Hallo " + name + "!");
}

Ausgabe:

Hallo Kai!
Hallo Lisa!
Hallo Peter!
Download

Der Rückgabetyp ist bei der Funktionsdeklaration der letzte Teil und wird hinter dem Doppelpunkt angegeben. Bisher hatten alle unsere definierten Funktionen den Rückgabetyp void. void ist ein spezieller Datentyp, welcher angibt, dass die Funktion keinen Wert zurückgibt. Dieser kann jedoch (falls benötigt) durch einen anderen beliebigen Datentyp (z. B. eine Zahl, eine Zeichenkette, ein Objekt) ersetzt werden.

Um von der Funktion aus einen Wert zurückzugeben, müssen wir als Anweisung das Schlüsselwort return, gefolgt von dem zurückzugebenden Wert, angeben. Anweisungen, welche hinter der return-Anweisung stehen, werden nicht ausgeführt.

trace("7 + 5 = " + addiereZahlen(7, 5));
trace("1.2 + 8.9 = " + addiereZahlen(1.2, 8.9).toFixed(1));

Funktion addiereZahlen():

private function addiereZahlen(a:Number, b:Number):Number
{
	return a + b;
}

Ausgabe:

7 + 5 = 12
1.2 + 8.9 = 10.1
Download

Übrigens: Bei Funktionen mit dem Rückgabetyp void können wir mittels der Anweisung return; ebenfalls aus der Funktion herausspringen.

Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwenden wir Cookies. Durch die weitere Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen OK