7. Funktionen

7.1 Funktionen Grundlage

Um das Prinzip von Funktionen zu verstehen, muss man den Namen (Funktion) Wort wörtlich nehmen, denn sie erledigen, wie der Name schon sagt, eine Funktion. Funktionen können verschiedenste Aufgaben erledigen und sind immer aufrufbar, z.B. können sie auf Abruf eine Ausgabe auf die Konsole tätigen. Wie das Funktioniert, schauen wir uns jetzt an.

Um eine Funktion zu erstellen, müssen wir in die Klasse des Programmes eindringen. In unserem Fall nennt sich die Klasse Program. Im Grunde haben wir uns schon während der gesamten Lernreihe in einer Funktion bewegt, nämlich in der Main Funktion.


Wir erstellen eine lehre Funktion, also eine Funktion, die nichts zurück gibt. Der dafür verwendete Begriff in der Programmierung ist void. Wir schreiben in die Klassen void und nachträglich den Namen der Funktion, in diesen Fall nennen wir sie Funktion1. Danach setzten wir ihr noch zwei Klammern nach. Diese sind für die Parameter. Was das genau ist, schauen wir uns später an. Um der Funktion eine Aufgabe zu übergeben, müssen wir in zwei geschweifte Klammern schreiben, was die Funktion erledigen soll. In unserem Fall, wird die Funktion einen Text ausgeben. Was ihr in den Text hinein schreibt, ist völlig egal.

class Program
{ 
    void Funktion1(){
        Console.WriteLine("Ich bin ein CodeStarter");
    }


Um die Funktion aufzurufen, müssen wir in der Main Methode ein neues Objekt erstellen. Das Objekt wird uns später dabei behilflich sein, die Funktion aufzurufen. Es wird wie folgt erstellt:

Program p = new Program();

Um die Funktion aufzurufen, nutzen wir das neu erstellte Objekt p. Wenn wir den Buchstaben p in die Main Methode schreiben, wird uns die Funktion1 dann angezeigt, wenn wir einen Punkt hinterher schieben.

p.Funktion1();

Wenn du das Programm jetzt laufen lässt, wird dir in der Konsole der Text „Ich bin ein CodeStarter“ ausgegeben.


7.2 Funktionen erweitert

7.2.1 Funktion mit Parameter

Offensichtlich gibt es nicht nur eine Art von Funktionen. Es gibt sie mit Rückgabewert, Parameter, oder auch mit verschiedenen Datentypen als Rückgabewert.  

Hier ein paar Beispiele für Funktionen mit Parameter. Wenn wir eine Funktion mit Parameter programmieren, dann müssen wir in der Main Methode beim Aufrufen zwingend ein Wert mitgeben. Im folgenden Beispiel müssen wir z.B. einen Wert des Datentyps String mitgeben. Damit die Funktion auch weiß, unter welchem variablen Namen der Wert gespeichert wird, müssen wir sie immer benennen. In diesem Fall heißt sie a.

//Mit einem Parameter Typ String, ohne Rückgabewert
void Funktion2(string a){
    Console.WriteLine("Ich habe {0} mitgegeben", a);
}

Aufrufen müssen wir die Funktion2 wie folgt. Auch hier ist es völlig egal, was ihr der Funktion als Parameter mitgebt.

p.Funktion2("Hallo");

Die Anzahl an Parametern die man einer Funktion mitgeben will, ist quasi Grenzenlos. Wichtig ist jedoch, dass man sie mit einem Komma abtrennt.

//Mit 2 Parameter Typ int, ohne Rückgabewert
void Funktion3(int a, int b){
    Console.WriteLine("Die Summe von {0} und {1} ist {2}", a, b, a + b);
}

Die Funktion3 rufen wir wie folgt auf:

p.Funktion3(5,9);


Die Parameter die wir hier übergeben, können innerhalb der Funktion mit a und b genutzt werden. Mithilfe der geschweiften Klammern in der Konsolenausgabe, schaffen wir einen Platz, in den wir den Wert von a und b platzieren können. Dafür müssen wir jedoch nach der Zeichenkette mit einem Komma abgetrennt die variablen Namen angeben, die an Position 0 und 1 eingesetzt werden sollen. Die Addition aus a und b wird an die Position 2 übergeben.

 
 

7.2.2 Funktion mit Rückgabewert

Im folgenden Beispiel haben wir eine Funktion mit zwei Parametern und einem Rückgabewert. Sobald wir in einer Funktion einen Rückgabewert haben, muss ein Wert zwingend mit dem Befehl return zurückgegeben werden. Außerdem starten wir die Funktion nichtmehr mit void, sondern mit dem entsprechenden Datentyp, der zurück gegeben wird. Was wir anschließen mit dem Wert anstellen ist uns überlassen.

Die beiden Parameter werden nach der Größe der Zahl verglichen. Die größere ermittelte Zahl soll dann zurückgegeben werden.

//Mit 2 Parameter Typ int, mit Rückgabewert Typ int
int Funktion4(int a, int b){
    if (a > b){
        return a;
    }
    else {
        return b;
    }
}

Nun rufen wir die Funktion auf, geben ihr zwei Parameter mit, und wollen die größere Zahl von Beiden in eine Variable abspeichern.

int groessereZahl = p.Funktion4(3,8);
Console.WriteLine("Der grösste Wert, ist {0}", groessereZahl);


Nun lernen wir neben dem String, int und dem double einen weiteren Datentyp kennen, nämlich den bool. Er kennt nur zwei Werte, true und false. In diesem Beispiel geben wir der Funktion zwei Parameter mit, welche sie nach ihrer Gleichheit überprüfen soll. Wenn sie gleich sein sollten, ist der Rückgabewert true, ansonsten logischerweise false.  

//Mit 2 Parameter Typ int, mit Rückgabewert Typ bool
bool Funktion5(int a, int b){
    if (a == b){
        return true;
    }
    return false;
}

Als Beispiel können wir den Rückgabewert der Funktion5 in eine Variable des Datentyps bool speichern und anschließend überprüfen, was denn nun das Ergebnis ist.

bool ergebnis = p.Funktion5(10, 10);

if (ergebnis == true){
    Console.WriteLine("Die Werte sind gleich");
}
else{
    Console.WriteLine("Die Werte sind nicht gleich");
}

 

Stelle uns deine Frage


Julien Rösch


 

Amazon

 

E-Book

 

Gefällt dir CodeStarter?