Implementationsvererbung Flashcards

1
Q

Für was ist die Vererbung das Mittel?

A

Das Mittel der Generalisierung in objektorientierten Programmiersprachen

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

Beschreibe die Generalisierung in OOP

A
  • Gemeinsamkeiten mehrerer Klassen in Oberklasse zusammengefasst
  • Folge: weniger redundanz
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Beschreibe die Spezialisierung in OOP

A
  • neue Unterklassen als Spezialisierung von bestehenden
  • verfeinern/erwitern
  • Gemeinsames in Oberklasse, Anpassung für andere/neue Kontexte in Unterklassen
  • Folge: weniger Redundanz
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie werden Felder/Attribute einer Oberklasse von Unterklassen übernommen?

A

vollständig und unverändert, es können zusätzliche hinzugefügt werden in der Unterklasse

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

Wie werden Methoden/Operationen einer Oberklasse in Unterklassen übernommen?

A
  • hinzufügen, es existiert noch keine Operation mit gleicher Signatur in einer Oberklasse – spezialisiertes Verhalten
  • redefinieren, wenn eine neue Methode in der Unterklasse eine gleichnamige Methode einer Oberklasse ersetzt und damit
    – überschreibt (komplett ersetzt) oder
    – erweitert (geerbte Methoden durch super-Aufruf einbezieht)
  • definieren (durch eine Methode implementieren), für die in der Oberklasse keine Methode (Implementierung) angegeben war
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie unterscheiden sich Methoden von Operationen?

A

Methoden: Schnittstelle + Implementierung
Operation: Schnittstelle

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

Wie richtet man Implementationsvererbungen in Java ein?

A

Über “extends”

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

Wie verhält es sich mit private Eigenschaften der Oberklasse in den Unterklassen?

A

Sie werden vererbt, sind aber in der Unterklasse nicht benutzbar

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

Wie löst man das Problem, dass Eigenschaften unter “private” in Oberklassen von Unterklassen nicht genutzt werden können?

A

Man verwendet “protected”

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

Wenn eine Klasse nicht explizit von einer Oberklasse erbt, wovon erbt sie dann implizit?

A

Von der Klasse Object

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

Welche Operationen definiert die Klasse Object?

A
  • toString()
  • equals(Object other)
  • hasCode()
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Welche Annotation muss verwendet werden, wenn man Methoden redefiniert?

A

@Override

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

Wie werden aufzurufende Methoden bestimmt in Java?

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

Wie ruft man bei der Redefination einer Operation die Methode der Oberklasse auf?

A

Über das Schlüsselwort super mit “super.methodenName()”

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

Wie weist man auf abstrakte Klassen in UML hin?

A

kursiver klassenname

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

Was tut “instanceOf”?

A

Eigentlich wird getestet, ob gegebene Referenz auf ein Exemplar des genannten Typs oder eines seiner Subtypen verweist.

17
Q

Was ist der Unterscheid zwischen Typvererbung und Implementationsvererbung?

A

Bei der Implementationsvererbung herrschen konkrete Implementationen vor, die vererbt werden