FunktionalePro I Flashcards

1
Q

Was ist der Unterschied zwischen Assembler und Maschinensprache

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Die Anweisung =

Datenbeschreibung =

A

Eine Anweisung = ein Maschinenbefehl

Datenbeschreibung = Platzreservierung im Hauptspeicher

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Code vs. Daten

A

Code: Sind eine Reihe von Anweisungen oder Befehlen

Daten: Sind Informationen die in einem Computer gespeichert sind

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie kann Merfachvererbung in Java implementiert werden

A

Default-Implementierung zusammen mit einer abstrakten Methode zur Datenhaltung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Rückwärtskompatibilität:

A

Default-Methoden können verwendet werden um existierende Interfaces zu erweitern ohne dass bisherige Programm zu verändert werden müssen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Schnittstellen eigenschaften

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Geschachtelte Klassen vs. Innere anonyme Klasse

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wann sind Lambdas geeignet ?

A

Sie sind nützlich, wenn eine Funktion nur an einer Stelle im Code benötigt wird und nicht separat definiert werden muss.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wozu werden Lambdas genutzt?

A

Lambdas werden verwendet, um anonyme Funktionen zu erstellen, die in anderen Funktionen oder Ausdrücken verwendet werden können.

Implementierung von Schnittstellen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Gibt es zu jeder Schnittstelle eine Lambda Ausdruck?

A

nein

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Wie sicht eine Funktionale Schnittstelle aus?

A

Besitzt nur eine abstrakte Methode

Andere statische Methoden oder Default-Methoden stören nicht

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wovon hängt bei Lambda-Ausdrücken der Typ ab?

A

vom jeweiligen Kontext

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Worauf sollte man bei der Übersetzung einer Funktionalen Schnittstelle in eine Lambda Ausdruck achten

A

Auf die Überladenen Methoden mit Parameter, stattdessen unterschiedliche Namen verwenden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Lambda Ausdrücke sind Objekte …

A

aber sie erben nicht von der Klasse Object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Lambda Ausdrücke können als Objekte behandelt werden …

A

aber sie erben nicht die Methoden und Eigenschaften der Klasse Object

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Wann eignet sich eine Schnittstelle eine Funktionale Schnittstelle zu werden

A

wenn sie genau eine Abstrakte Klasse hat

17
Q

Annotation @FunctionalInterface

A

Die Annotation @FunctionalInterface wird in Java verwendet, um anzuzeigen, dass ein Interface als funktionales Interface betrachtet werden soll. Ein funktionales Interface ist ein Interface, das genau eine abstrakte Methode enthält. Die Annotation dient als Hinweis für den Compiler und andere Entwickler, dass das Interface für die Verwendung mit Lambda-Ausdrücken und anderen funktionalen Programmierkonzepten geeignet ist.

18
Q

Wieso sollte nicht jede Schnittstelle auch für Lambda-Ausdrücke verwendet werden

A

weil sie z.b. Später Weiterentwickelt werden mit mehreren abstrakten Methoden

19
Q

Syntax für Lambda-Ausdrücke

A

(LambdaParameter) -> {Anweisungen}

20
Q

Was macht Lambda was Methodenreferenzen

A
  • Lambdas definieren Funktionen, über die wir das Programm
    parametrisieren können.
  • Methodenreferenzen erlauben die Verwendung von vorhandenem
    Code.
21
Q

Wozu dienen Methodenreferenzen

A

Dienen zur besonders schnellen Initialisierung funktionaler Schnittstellen mit benannten Methoden