uio--WebPageMain-Module
JAVA-C1 Funktionale Programmierung @! Spungmarken in allen Pages testen! Funktionale Programmierung Function as Value Pure Function Higher-Order Functions @FunctionalInterface Annotation Methoden-Referenzen Bedeutung von Stream API Optional als neuer Typ Zusammengefasst

Funktionales Interface @FunctionalInterface Lambda-Expressions Simple / Komplex Scope

Custom-Functional-Interfaces Custom-Functional-Interfaces Custom-Functional-Interfaces Herkömmliches Interface Funktionales Interface IRechnerDouble definieren und verwenden. Generische funktionale Interfaces @FunctionalInterface Beispiele mit IRechnerGenericFlexible<Integer> r = .. Beispiel: Lambda-Rechenoperationen mit Objekten Beispiel: IRead T, IUpdate T, I Read T, IPrint T

Predefined Functional Interfaces Overview Function BiFunction Predicate Supplier Consumer Diagramm aller Predefined Functional Interfaces Diagramm Converter Interfaces ToIntFunction/ToIntBiFunction DoubleBinaryOperator (EXAMPLE) @! Sprunmarken ergänzen/testen!

plugin-and-command-pattern-architecture Beispiel/Collection

Overview

JAVA-C1 | Overview

JAVA-C1 gefasst sich mit Lambdas und Funktionaler Programmierung.

Funktionale Programmierung, Methodenreferenzen und Lambda-Expressions sind die Voraussetzung für die Collection Stream API.

Abbildung: Java Tiers C

Funktionale Programmierung (Basics)

JAVA-C1 | Funktionale Programmierung (Basics)

Basics | Overview

Mit diesem Themenblock beginnen wir eine Einführung in die sogenannte Funktionale Programmierung oder in (engl.) Functional Programming mit Java, Pure Functions, Immutability, Higher-Order-Functions und den Ausblick auf die Bedeutung für Methoden-Referenzen, Stream API, Optionals und mehr.

Die Bedeutung der Function in objektorientierten Programmiersprachen wie Java oder C# .NET wurde lange Zeit auf Methoden unter dem Aspekt der Objektorientierung beschränkt. Sequenzen von Programmschritten selbst gilt es aber davon unabhängig als Wert zu verstehen, um diese Funktionen auch als Werte übergeben bzw. referenzieren zu können. Wir geben hier den Überblick was man zu Funktionalen Interfaces, Lambdas, Methoden-Referenzen, Optionals im Mindestumfang wissen sollte.

Overview

JAVA-C1 | Java Functional Interface

Lambda-Expressions sind funktionale Ausdrücke für welche es inzwischen in vielen Skript- und Programmiersprachen eine Syntax mit Hilfe des sogenannten Arrow-Operators gibt.

Lambda-Expressions dienen mitunter dazu, eine Funktion oder auch eine Methode referenzieren zu können.

Custom Functional Interface

JAVA-C1 | Custom Functional Interface

Functional Interfaces sind ein spezieller Datentyp welcher zur Speicherung von Referenzen auf Methoden in Variablen verwendet werden kann. Auch wenn Java von sich aus einige solcher Interfaces bereitstellt, kann man sich eigene Custom Function Interfaces programmieren.

In diesem Themenblock zum Thema «Funktionale Programmierung» zeigen wir, wie man typische Rechenoperationen über Lambda-Ausdrücke formulieren und diese in eigenen funktionalen Interfaces speichern kann. Wir zeigen darüber hinaus, dass Funktionale Interfaces auch generisch programmiert werden können und welche Probleme in diesem Falle implizitem Casting entstehen können: Implizites Casting funktioniert in diesem Falle nämlich nicht.

Funktionale Interfaces (page-420)

JAVA-C1 | Funktionale Interfaces (page-420)

Funktionale Interfaces ist ein spezieller Datentyp welcher zur Speicherung von Referenzen auf Methoden in Variablen verwendet werden kann.

Funktionale Interfaces sind ein spezieller Type in Java mit dessen Hilfe ein Datentyp für Referenzen auf Funktionen, Methoden und Lambda-Ausdrücke in geschaffen wurde. Mit diesen funktionalen Interfaces ist es deshalb möglich, Referenzen auf Methoden über sowohl Funktionsparameter als auch Return-Parameter zu übergeben und auf diesem Wege den Programmcode von Funktionen auch dann ausführen zu können, ohne vorher Objekte der jeweiligen Klassen erzeugen zu müssen.

Predefined Functional Interfaces

JAVA-C1 | Predefined Functional Interfaces

In diesem Themenblock geben wir einen Gesamtüberblick über im Package java.util.function bereits vordefinierten funktionalen Interfaces, erklären die Bedeutung von Suppliern, Predicates, Functions, Consumern sowie anderer Typen und zeigen examplarisch, wie diese funktionieren.

All diese vordefinierten funktionalen Interfaces sind zentraler Bestandteil der Java Collection Stream API. Dieses führt dazu, dass jeder Entwickler in diesem Kontext sowohl für Methoden-Referenzen als auch für die Programmierung von Lambda-Expressions diese vordefinierten Interfaces kennen sollte, weil die Operatoren der APIs Werte dieser Typen fordern.

Plugin/Command-Pattern

JAVA-C1 | plugin-and-command-pattern-architecture

Funktionale Interfaces in Verbindung mit Collections sind eine Option, um Plugin- oder Command-Pattern-Architekturen in Java realisieren zu können.

Mit Hilfe einer HashmPa kann man flexibel und modular funktionale Interfaces als Typ nutzen, um Referenzen auf statische Methoden, Objektmethoden oder auch direkt auf Lambda-Expresions in Verbindung mit einem Schlüssel/Key in der Collection abzulegen und über eben diesen Key die Funktion adressieren, aufrufen, ausführen und auch ersetzen zu können.

UI ORGANIZED.

UIO3 Es ist einfacher als Du denkst.

Stelle noch heute Deine Anfrage.

uio--WebPageFooter-Module