FunktionalePro I Flashcards
Was ist der Unterschied zwischen Assembler und Maschinensprache
Maschinensprache besteht aus binären Codes, die direkt von der Hardware ausgeführt werden können. Assembler ist eine symbolische Darstellung der Maschinensprache, die von einem Assembler in Maschinensprache übersetzt wird. Assembler ist also eine höhere Ebene als Maschinensprache.
Die Anweisung =
Datenbeschreibung =
Eine Anweisung = ein Maschinenbefehl
Datenbeschreibung = Platzreservierung im Hauptspeicher
Code vs. Daten
Code: Sind eine Reihe von Anweisungen oder Befehlen
Daten: Sind Informationen die in einem Computer gespeichert sind
Wie kann Merfachvererbung in Java implementiert werden
Default-Implementierung zusammen mit einer abstrakten Methode zur Datenhaltung
Rückwärtskompatibilität:
Default-Methoden können verwendet werden um existierende Interfaces zu erweitern ohne dass bisherige Programm zu verändert werden müssen
Schnittstellen eigenschaften
- Dürfen keine Methoden mit Rümpfen enthalten
- Dürfen keinen Zustand speichern, Objektvariablen verboten
Attribute einer Schnittstelle sind implizit public static final und somit Konstant
Geschachtelte Klassen vs. Innere anonyme Klasse
Der Hauptunterschied zwischen geschachtelten Klassen und inneren anonymen Klassen besteht darin, dass geschachtelte Klassen eine explizite Klassendefinition haben und wiederverwendbar sind, während innere anonyme Klassen keine separate Klassendefinition haben und nur einmal verwendet werden können.
Wann sind Lambdas geeignet ?
Sie sind nützlich, wenn eine Funktion nur an einer Stelle im Code benötigt wird und nicht separat definiert werden muss.
Wozu werden Lambdas genutzt?
Lambdas werden verwendet, um anonyme Funktionen zu erstellen, die in anderen Funktionen oder Ausdrücken verwendet werden können.
Implementierung von Schnittstellen
Gibt es zu jeder Schnittstelle eine Lambda Ausdruck?
nein
Wie sicht eine Funktionale Schnittstelle aus?
Besitzt nur eine abstrakte Methode
Andere statische Methoden oder Default-Methoden stören nicht
Wovon hängt bei Lambda-Ausdrücken der Typ ab?
vom jeweiligen Kontext
Worauf sollte man bei der Übersetzung einer Funktionalen Schnittstelle in eine Lambda Ausdruck achten
Auf die Überladenen Methoden mit Parameter, stattdessen unterschiedliche Namen verwenden
Lambda Ausdrücke sind Objekte …
aber sie erben nicht von der Klasse Object
Lambda Ausdrücke können als Objekte behandelt werden …
aber sie erben nicht die Methoden und Eigenschaften der Klasse Object