Polymorphie Flashcards

(38 cards)

1
Q

Was heisst Polymorphie?

A

Vielgestaltigkeit / Vielförmigkeit

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

Was ist Polymorphie?

A

Ein Konzept der OOP

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

Vorteil von Polymorphie?

A

Programmcode wird reduziert –> bessere Übersichtlichkeit und Wartung

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

Je nach “Kontext” verhält sich…

A

eine Klasse / Methode / Objekt unterschiedlich

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

Polymorphe Methode =

A

Überladene Methode

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

Polymorpher Konstruktor =

A

Überladene Konstruktoren

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

Statische Polymorphie =

A

Polymorphie, welche auf Überladen basiert

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

Bei statischer Polymorphie ist bereits bei Compiler…

A

eindeutige Auflösung klar basierend von untersch. Parameterlisten

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

Wenn die Signatur einer Methode in der Unterklasse abweicht von der geerbten Methode, ist…

A

es eine neue Methode der Unterklasse (Erweiterung)

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

Dynamische Polymorphie =

A

Überschreiben von Methoden der Oberklasse

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

Bei dynamischer Polymorphie wird…

A

während Laufzeit entschieden welche Methode ausgeführt wird, abhängig vom Typ des Objekts.

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

Polymorphie von Objekten =

A

Objekt kann von unterschiedlichem Typ in der Vererbungshierarchie sein.
Bspw. Deklariert Person, Instanziert Student

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

Referenz vom Oberklasse-Typ kann..

A

auch jedes Unterklasse-Typ Objekt referenzieren

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

Wie kann der dynamische Typ ermittelt werden und muss man das manuell?

A

Operator “instanceof”
Grundsätzlich sollte das nicht notwendig sein!

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

Was besagt das Liskovsches Subtitutionsprinzip (Ersetzungsprinzip) LSP

A

Oberklasse-Typ kann immer durch einen Unterklasse-Typ ersetzt werden

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

Eine generische Klasse hat … Typen, welche…

A

unbekannten Typ, welche durch Typ-Parameter als Platzhalter vertreten sind.

17
Q

Was ist ein typischer Typ-Parameter Platzhalter?

18
Q

Welcher Operator wird bei generischen Klassen verwendet?

A

Diamond-Operator: <>

19
Q

Definition einer Variable vom Typ generischer Klasse benötigt…

A

konkreter Typ (muss im Konstruktor nicht wiederholt werden!)

20
Q

Für was wird generische Klasse oft verwendet?

A

eine Art “Array” erstellen, welche jedoch eine variable grösse hat bsp. CommonContainer

21
Q

Erstellung von generischen Klassen kann komplex werden, da:

A
  • Type Erasure (Typ-Löschung) während Laufzeit
  • Upper Bound / Lower Bound: unter bzw. obere Grenzen der erlaubten Typen
22
Q

Was ermöglichen Pakete?

A

Strukturierung von Klassen, Interfaces und Enumerationen

23
Q

Klassen welche logisch zusammengehören, werden…

A

in einem gleichen Paket verwaltet

24
Q

Schlüsselwort für Paket

25
Wo muss das Paket angegeben werden?
In erster Zeile der Klasse
26
Wie definiert man normalerweise den package name?
Domain-name rückwärts
27
Vollqualifizierter Name einer Klasse =
Name des Pakets + Name der Klasse
28
Ein Paketname muss immer...
eindeutig sein (also untersch. vollqualifizierte Namen der Klasse haben)
29
Paketname werden nach Konvention
kleingeschrieben
30
Wenn Klasse aus anderem Paket benötigt wird, müssen...
diese importiert werden.
31
Import von mehreren Klassen eines Package: Was ist dabei zu beachten?
import java.util.*; Unterpakete werden NICHT importiert
32
Was für Zugriffsmodifikatoren gibt es?
- public - protected - (keine Angabe) --> default - private
33
Von wo ist public sichtbar?
überall
34
Von wo ist protected sichtbar?
im gleichen Paket und in Unterklassen
35
Von wo ist private sichtbar?
nur in gleicher Klasse
36
Von wo ist default (keine Angabe) sichtbar?
im gleichen Paket
37
Sichtbarkeit der Methode der Oberklasse in Unterklasse überschreiben ist nur erlaubt, wenn..
ausgeweitet wird und nicht verkleinert, da sonst LSP verletzt wäre.
38
Beispiel von Polymorphie von Objekten?
Deklariert Person, Instanziert Student