Programmierung Flashcards

1
Q

Was ist die Objektorientierung?

A

Ein Programmierparadigma, welches mit Objekten arbeitet.

Zeichnet sich hauptsächlich durch drei Konzepte aus:

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

Was ist ein Programmierparadigma?

A

Bezeichnet eine bestimmte Vorgehensweise bei der Programmierung

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

Was ist ein Objekt?

A

Ein Ding aus der realen Welt, welches Eigenschaften (Attribute) und Funktionen (Methoden) hat.

Bspw. das Modell eines Fahrzeugs oder das Abschließdatums eines Kaufvertrags

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

Was ist eine Klasse?

A

Viele objekto. Sprachen benutzen Klassen als Baupläne für Objekte.

Objekte sind dann Instanzen dieser Klasse, welche die konkreten Angaben beinhalten (Fahrzeug mit Gestellnummer, Lackierung etc.)

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

Was ist die Kapselung?

A

Objekte kapseln die Attribute und die dazugehörigen Methoden. Der Zugriff auf Attribute sollte nur über Methoden möglich sein, damit die Manipulation der Werte verhindert wird.

Das Objekt bleibt dadurch in einem gültigen Zustand.

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

Was ist die Vererbung?

A

Klassen können ihre Attribute und Methoden an andere Klassen vererben.

Diese würden dann den erbenden Klassen zur Verfügung stehen.

Vererbende Klasse = Basisklasse
Erbende Klasse = Subklasse

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

Was ist die Polymorphie?

A

Heißt “Vielgestaltigkeit”. Bedeutet, dass Variablen Objekten unterschiedlichen Typs zugewiesen werden können, die sich beim Aufruf derselben Methode dann unterschiedlich verhalten.

Beispiel: List aus Java. Ich kann ihr eine ArrayList zuordnen oder eine LinkedList (dieselbe Methoden, aber unterschiedliche Implementierung)

Polymorphie tritt ein bei der Vererbung oder bei Interfaces

Überall wo ich eine Basisklasse oder ein Interface erwarte, kann auch eine Subklase oder implementierende Klasse verwendet werden

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

Warum verwendet man Getter/Setter, anstatt Attribute sichtbar zu machen?

A

Um die Gültigkeit des Objekts sicherzustellen

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

Was wird in einem Objekt gekapselt?

A

Daten (Attribute) und Methoden

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

Welche Programmierparadigmen gibt es?

A

Prozedural, Funktional, Objektorientiert

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

Erkläre das “Geheimnisprinzip”.

A

Ein Objekt soll nach außen nur die Informationen und Methoden bereitstellen, die zur Anwendung notwendig sind.

Die Implementierung ist nicht relevant, sondern nur das gewünschte Ergebnis. Vergleichbar mit einer Black Box.

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

Was sind Sichtbarkeitsmodifizierer?

A

Werden benutzt, um den Zugriff auf Methoden und Attribute zu steuern (wer diese quasi sehen kann).

Es gibt verschiedene Abstufungen: protected, private, public.

Java spezifisch: package-private

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

Wofür ist das Geheimnisprinzip wichtig?

A

Für die Wiederverwendbarkeit von Code.

Wenn wir eine Methode nutzen und diese intern durch eine performantere Lösung ausgetauscht wird, müssen wir nichts ändern, das Ergebnis bleibt Dasselbe.

-> Schnittstellen müssen unverändert bleiben

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

Wer hat Zugriff auf ein Element, welches mit “private” gekennzeichnet ist?

A

Ist nur innerhalb der Klasse verwendbar.

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

Wer hat Zugriff auf ein Element, welches mit “public” gekennzeichnet ist?

A

Ist für alle anderen Objekte sichtbar.

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

Wer hat Zugriff auf ein Element, welches mit “protected” gekennzeichnet ist?

A

Die Klasse selbst und aus ihr abgeleitete Klassen haben Zugriff

17
Q

Erkläre das Prinzip der Spezialisierung/Generalisierung

A

18
Q

Was sind abstrakte Klassen?

A

Dienen als Basisklasse, können selbst nicht als Objekt erstellt werden.

19
Q

Was gilt es zu beachten bei der Bildung von Klassenhierarchien?

A

Dass diese inhaltlich zusammenpassen.

Ein Hund und ein Tisch haben beide Beine, passen aber nicht zusammen. (OO = reale Welt)

20
Q

Was ist ein Konstruktor?

A

Ein Konstruktor wird verwendet, um ein Objekt einer bestimmten Klasse zu erstellen.

21
Q

Wie wird die vererbene Klasse genannt?

A

Basisklasse

22
Q

Wie wird die erbende Klasse genannt?

A

Subklasse

23
Q

Erkläre die Überschreibung von Methoden

A

24
Q

Was ist der Unterschied zwischen Methodenüberladung und Überschreibung?

A

25
Q

Was ist die Methodensignatur?

A

26
Q

Was bedeutet das “final” Keyword?

A