Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Java Grundkurs 3: Generische Programmierung, Datenströme, Datumsrechnung

Einen Lambda-Ausdruck programmieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
In diesem Video zeigt Ihnen der Trainer, wie man einen Lambda-Ausdruck programmiert. Ausgehend von einer anonymen Klasse mit einer einzigen Methode, ist die Programmierung eines Lambda-Ausdrucks sehr simpel. Denn ein Lambda-Ausdruck ist nichts anderes als eine anonyme Klasse mit einer einzigen Methode – nur dass der Quelltext viel knapper und prägnanter formuliert werden kann.

Transkript

In diesem Video zeige ich Ihnen, wie man einen Lambda-Ausdruck erstellt. Das besondere hierbei wird sein, dass wir von einer anonymen Klasse ausgehen. Denn von einer anonymen Klasse ausgehend, lässt sich ein Lambda-Ausdruck sehr leicht anfertigen. Hierbei werden wir auf sehr viel Quelltext verzichten können, sodass der Ausdruck hier oben wesentlich kürzer und prägnanter wird. Für den Lambda-Ausdruck kann ich nun auf all das hier oben verzichten. Das einzige, was benötigt wird ist die Anzeige der Parameter und der Inhalt des Anweisungsblocks. Deshalb entferne ich jetzt den Kopf der anonymen Klasse und auch die Definition der Methode, so. Und dann drück ich das Ganze auch noch etwas zusammen, damit Sie sehen, wie kompakt das Ganze jetzt wird. So jetzt haben wir hier eine geschweifte Klammer, die das Ganze Innere des Anweisungsblocks zusammenpackt und was jetzt fehlt ist der Lambda-Operator, der so aussieht. Das ist ein Minus-Zeichen und ein Groesser-Zeichen und jetzt sehen Sie, dass Eclipse mir keine Fehler mehr anzeigt, denn wir haben es nun mit einem Lambda-Ausdruck zu tun. Mit diesem Lambda-Ausdruck hier rechts von der Zuweisung, sagen wir also aus. Nimm die zwei Parameter hier links vom Lambda-Operator und führe die Formel gewicht durch groesse zum Quadrat durch. Allerdings wird die Berechnung an dieser Stelle hier oben noch nicht durchgeführt, sondern erst wenn die Methode rechne hier unten ausgeführt wird. Ich probiere das Beispiel einmal aus und dann sehen Sie, dass es genauso funktioniert, wie bislang auch schon. Das ist noch nicht alles, denn wir können den Lambda-Ausdruck noch wesentlich kürzer formulieren. Hierzu schauen wir ihn uns nochmal genauer an Der Lambda-Operator teilt unseren Lambda-Ausdruck ja in zwei Teile. Und zwar stehen links die Lambda-Parameter, die auf der rechten Seite im Anweisungsblock verwendet werden. Auf die Deklaration von Datentypen kann grundsätzlich verzichtet werden, da wir sie im Interface bereits angezeigt haben. Also entferne ich sie mal ebenfalls. Das speichere ich ab und wie sehen wird mir kein Fehler angezeigt, denn der Compiler weiß, welche Datentypen an dieser Stelle gebraucht werden und das ermittelt der mit Hilfe des Interfaces BMIRechner. Dies ist praktisch. Wenn es sicher aber, wie in unserem Beispiel, um mehrere Parameter handelt darf man nicht hingehen und mal den Datentyp setzen und einmal weglassen. Das hier geht nicht. Da würde ein Fehler erscheinen man muss sich also hierbei entscheiden. Merken Sie, wie wir auf immer mehr Code verzichten koennen? Und jetzt zeige ich Ihnen noch ein paar gültige Varianten, mit denen auf noch mehr Code verzichtet werden kann Wenn es sich beispielweise um einen einzigen Parameter gehandelt hätte, hätten wir die runden Klammern auch komplett weglassen können. Wenn es zum Beispiel um das gewicht haetten, ginge das auch so. Das sieht dann noch kompakter aus. Wenn aber gar kein Parameter benötigt wird, darf auf die runden Klammern nicht verzichtet werden. Dann wäre das so richtig. Die runden Klammern bleiben dann leer. In unserem Fall haben wir aber zwei Parameter, die wir dann brauchen. Also setze ich diese runden Klammern und füge dort die beiden Parameter groesse und gewicht ein. Nun kommen wir zur rechten Seite, also zum Lambda-Body, denn auch dort können wir uns auch noch kürzer fassen Im Lambda-Body stehen die Anweisungen, die beim Aufruf der abstrakten Methode ausgeführt werden sollen. In der Regel packt man die Anweisung in diese gestreiften Klammern. Wenn der Lambda-Body wie in unserem Beispiel aber lediglich über eine einzige Anweisung verfügt, dann liegt eine Ausnahme vor, bei der man auf die geschweiften Klammern und auch auf das Schlüsselwort Return verzichten kann. Ich kann also auf all das hier verzichten. So und wie sie sehen, zeigt mir Eclipse wieder keinen Fehler an. Dies ist für unser Functional Interface also die kürzeste Form des Lambda-Ausdrucks. Das Beispielprogramm probieren wir einmal aus, ob es funktioniert. Und wie sehen, gelingt mir die Ausführung des Programms. In diesem Video habe ich Ihnen gezeigt, wie man einen Lambda-Ausdruck programmiert. Ausgehend von einer anonymen Klasse mit einer einzigen Methode, ist die Programmierung eines Lambda-Ausdrucks sehr simpel. Ein Lambda-Ausdruck ist nichts anderes, als eine anonyme Klasse mit einer einzigen Methode. Weil aber, von vorne herein sichergestellt ist, dass man hierbei eine anonyme Klasse mit einer einzigen Methode aufruft, spricht man auch von einer anonymen Methode. In dem Video wurde auch deutlich, dass der Lambda-Ausdruck eine anonyme Klasse ist, deren Syntax stark vereinfacht ist und die uns somit die Möglichkeit bietet, uns in kompakter Form kurz zu fassen. Dies klingt zunächst mal ganz belanglos, aber die Idee des Lambda-Ausdrucks ist sehr mächtig, weil es die Art und Weise, wie wir Java kodieren fundamental verändert und wesentlich verbessert. Denn hierdurch wird unser Quelltext treffsicherer und effizienter. Und nun kann ich auch kurz auf die Theorie eingehen. Denn jetzt verstehen Sie es, was gemeint ist, wenn man behauptet, dass ein Lambda- Ausdruck ein Funktionsaufruf ist, dessen Syntax ganz prägnant und intuitiv im Sinn der funktionalen Programmierung ist. Denn das Ziel der funktionalen Programmierung ist über eine höhere Abstraktion zu einer intuitiven Kodierung zu gelangen. Durch diese intuitive Abkürzung wird das bisherige objektorientierte Konzept von Java allerdings durchbrochen, da wir offenbar auf die Anzeige von Datentypen und Objekten verzichten können. Nebenbei gesagt arbeitet Java im Hintergrund weiterhin mit Objekten und Datentypen, aber dies brauchen wir bei unserer alltäglichen Arbeit als Programmierer nicht zu beachten.

Java Grundkurs 3: Generische Programmierung, Datenströme, Datumsrechnung

Steigen Sie tiefer in die Java-Programierung ein und lernen Sie den Umgang mit generischen Typen, Lamda-Ausdrücken, DAtenströmen und mit Datums- und Zeitberechnung.

5 Std. 24 min (47 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Hersteller:
Software:
Exklusiv für Abo-Kunden
Ihr(e) Trainer:
Erscheinungsdatum:09.10.2016
Laufzeit:5 Std. 24 min (47 Videos)

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!