Читать книгу C# - Grundlagen für Beginner - Sven Heinrich - Страница 10
ОглавлениеMethoden
Methoden (oftmals auch Funktionen oder Unterprogramme genannt) stellen kleine Programmteile dar und können mit nur einem Befehl von überall aufgerufen werden.
Sobald Du eine neue C#-Datei in Unity 3D anlegst und diese öffnest, werden direkt zwei Methoden angelegt:
Muster einer MethodeEine Methode wird mit folgendem Muster angelegt: Rückgabewert Bezeichner (){ Inhalt}Der Bezeichner einer Methode ist wieder eine individuelle und einmalige Benennung ohne Leerzeichen. Allgemeine Regeln in der Programmierung:a) Methoden beginnen mit einem großen Buchstabenb) Mehrere Wörter werden mit einem großen Buchstaben getrennt (Beispiel: AddiereZweiZahlen)
Arten von Methoden
Es gibt unterschiedliche Arten von Methoden:
a) Methode ohne Rückgabewert
b) Methode mit Rückgabewert
c) Methode mit Parametern
d) Methode mit Verweis-Parametern
Jede Methode erfüllt ihren eigenen definierten Zweck. So kann das Programm in kleine Teilprogramme aufgeteilt werden und es bleibt übersichtlich.
Schauen wir uns die unterschiedlichen Methodenarten einmal genauer an.
Methoden ohne Rückgabewert
Wie im Muster zu sehen, muss die Methode mit einem Rückgabewert angelegt werden. Doch was machst Du, wenn die Methode nichts zurückgeben soll? Dann wird einfach „nichts“ als Rückgabewert genommen und das im wörtlichen Sinne.
nichts = void
In dem oben genannten Beispiel haben wir zwei Methoden ohne einen Rückgabewert.
Dabei wir die Methode durchlaufen, der Codeinhalt ausgeführt, aber anschließend kein Wert (nichts) an eine andere Stelle im Code geliefert. Beispiel im Code:
Beim Aufruf der Methode AddiereZweiZahlen() wird der Inhalt ausgeführt, es wird die Summe von a und b berechnet und in der methodeninternen Variablen ergebnis gespeichert. Allerdings wird von der Methode selbst kein Rückgabewert (void) geliefert. Das Ergebnis verbleibt innerhalb der Methode.
Methode mit Rückgabewert
Beim Aufrufen einer Methode mit einem Rückgabewert erhältst Du hingegen einen Wert (in Form des Datentyps) direkt von der Methode zurück.
Beispiel im Code:
In diesem Beispiel wurde der Rückgabewert als Datentyp int bestimmt. Das bedeutet die Methode liefert nach dem Durchlaufen des Inhalts einen int-Wert zurück. Ein weiteres Schlüsselwort ist return („zurückgeben“). Die Methode soll also den Wert von a und b als int zurückgeben. Als mögliche Rückgabewerte können dabei alle Werttypen (int, string, bool, etc.) verwendet werden. An einer anderen Stelle im Code (beispielsweise in der Start-Methode) kann diese neue Methode dann aufgerufen und der Wert verarbeitet werden.
Um also das Ergebnis zu bekommen, wird die zusätzliche Methode AddiereZweiZahlen() aufgerufen, ausgeführt und der Wert als Ergebnis zurückgeliefert.
Methode mit Parametern
Des Weiteren gibt es die Möglichkeit vordefinierte Parameter der Methode mitzugeben. Dabei werden die Parameter in Form von „Datentyp + Bezeichner“ in den ()-Klammern hinter der Methode eingegeben.
Rückgabewert Bezeichner (Datentyp Bezeichner){ Inhalt}Beispiel im Code:
In diesem Beispiel gibst Du der Methode zwei int-Variablen mit, die innerhalb der Methode verarbeitet werden. Anschließend wird ein weiterer int-Wert von der Methode zurückgegeben. Parameter können aber auch bei Methoden ohne Rückgabewert verwendet werden. Der Aufruf der soeben angelegten Methode sieht so aus:
Hierbei werden beim Aufruf der Methode direkt die notwendigen Werte (10 und 3) mitgegeben, damit diese verarbeitet werden können. Es besteht ebenfalls die Möglichkeit der Methode anstatt vordefinierter Werte, Variable mitzugeben.
Aber Achtung:Bei der Übergabe von Werten beim Aufruf einer Methode werden Kopien von den Werten erstellt, womit dann die Methode arbeitet. Die Variablen werden nicht überschrieben.
Methoden mit Verweis-Parameter
Eine Methode mit Verweis-Parameter kommt am Anfang der Programmierung eher selten vor. Dennoch soll sie hier kurz erläutert werden, falls doch mal die Notwendigkeit der Nutzung besteht.
Bei dieser Methode wird als Parameter keine einzelne Variable in Form von Werttypen (beispielsweise int, float, string oder bool), sondern es wird ein Verweistyp mitgegeben. Beispielsweise auf ein Datenfeld (Array). Was ein Array ist, wird Dir später noch erklärt. Beispiel im Code:
In diesem Beispiel wird beim Aufruf der Methode ein Datenfeld mitgegeben, das anschließend von der Methode bearbeitet werden soll.
Dabei wird das Datenfeld, anders als bei einfach Variablen, überschrieben.