Woche 3: Methoden
Ein Programm ist nicht nur eine Folge von Anweisungen für den Computer, sondern auch immer eine formale Beschreibung eines Prozesses oder einer Berechnung. Als Programmierende möchten wir die Programme so schreiben, dass wir den Prozess verstehen können Zudem wollen wir ein Programm auch anpassen und erweitern können. Wenn die Programme grösser werden, wird dies zu einer grossen Herausforderung. Die wichtigste Strategie um verständliche und erweiterbare Programme zu schreiben, ist die Programme in kleine, separate Einheiten zu zerlegen, die wir unabhängig vom Ganzen verstehen können. Java bietet uns dafür das Konzept der Methoden an.
Methoden erlauben uns Programme in einzelne Teile aufzuteilen. Über den Namen der Methode können wir später auf die Berechnung zugreifen. Methoden abstrahieren also Berechnungen.
Theorie
Selbststudium
Bitte arbeiten Sie folgende Lerneinheiten vor den Präsenzveranstaltungen durch.
- Methoden als mathematische Funktionen (Video)
- Methoden ohne Rückgabewert (Artikel)
- Programmfluss (Video)
- Sichtbarkeit von Variablen (Artikel)
- Testen von Methoden (Video)
Literaturhinweise
Die oben beschriebenen Themen werden auch im Buch, Think-Java in Kapitel 4 (Methods and Testing) behandelt.
Präsenzveranstaltung Donnerstag
In der Präsenzveranstaltung werden wir die im Selbststudium erarbeiteten Konzepte anhand eines Jupyter-Notebooks vertiefen und praktisch anwenden. Insbesondere schauen wir uns an, wie wir mit Methoden kompliziertere Konstruktionen in einfachere Teilschritte zerlegen können.
Praxis
Präsenzveranstaltung Freitag
Wir besprechen praktische Aspekte der in der Theorie behandelten Themen, gehen auf Java-spezifischen Feinheiten ein und wenden diese in der Programmierumgebung an. Insbesondere studieren wir einige Methoden, die uns Java zur Verfügung stellt.
Übungen
Üben Sie die behandelten Themen ein, indem Sie das folgende Jupyter-Notebook bearbeiten:
Kernaussagen
- Methoden erlauben uns Codeblöcke zu benennen und diese unter dem Namen anzusprechen.
- Die
return
Anweisung wird benutzt um aus einer Methode einen Wert zurückzugeben. - Methoden können Werte an den Aufrufer zurückgeben, der dann damit weiterrechnen kann.
- Wenn eine Methode keinen Wert zurückgibt, dann sind nur die Anweisungen innerhalb der Methoden (also die Aktionen die ausgeführt werden) von Interesse.
- Berechnungen können mittels Parameter parametrisiert werden. Dies ermöglicht, dieselbe Methode mit verschiedenen Werten aufzurufen.
- Variablen die in Methoden deklariert sind, sind nur innerhalb der Methode sichtbar
- Wenn mehrere Methoden definiert sind, wird das Programm nicht mehr strikt von oben nach unten abgearbeitet, sondern springt in Methodenaufrufe in die entsprechende Methode und von da wieder zurück.
- Jede Methode sollte einzeln getestet werden, ob sie die geforderte Funktionalität erfüllt
Lernziele
Die Studierenden
- kennen die Syntax um Methoden zu definieren und diese aufzurufen.
- können für eine wohldefinierte, mathematische Aufgabe eine entsprechende Funktion schreiben, die die Berechnung durchführt und das Ergebnis zurückgibt.
- Können den Programmfluss eines Programms mit mehreren Methoden angeben.
- Kennen den Unterschied zwischen Methoden ohne Rückgabewert und Methoden mit Rückgabewerten.
- kennen das return Keyword und wissen wie dies den Kontrollfluss beeinflusst.
- können entscheiden welche Variable zu welchem Zeitpunkt sichtbar ist.
- können Methoden in Isolation testen um Berechnungsfehler zu finden.