Programmierung Flashcards Preview

Abschlussprüfung (GH1/2) > Programmierung > Flashcards

Flashcards in Programmierung Deck (26):
1

Was ist die Objektorientierung?

Ein Programmierparadigma, welches mit Objekten arbeitet.

Zeichnet sich hauptsächlich durch drei Konzepte aus:
- Vererbung
- Kapselung
- Polymorphie

2

Was ist ein Programmierparadigma?

Bezeichnet eine bestimmte Vorgehensweise bei der Programmierung

- objektorientiert
- funktional
- prozedural

3

Was ist ein Objekt?

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

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

4

Was ist eine Klasse?

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.)

5

Was ist die Kapselung?

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.

6

Was ist die Vererbung?

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

7

Was ist die Polymorphie?

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

8

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

Um die Gültigkeit des Objekts sicherzustellen

9

Was wird in einem Objekt gekapselt?

Daten (Attribute) und Methoden

10

Welche Programmierparadigmen gibt es?

Prozedural, Funktional, Objektorientiert

11

Erkläre das "Geheimnisprinzip".

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.

12

Was sind Sichtbarkeitsmodifizierer?

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

13

Wofür ist das Geheimnisprinzip wichtig?

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

14

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

Ist nur innerhalb der Klasse verwendbar.

15

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

Ist für alle anderen Objekte sichtbar.

16

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

Die Klasse selbst und aus ihr abgeleitete Klassen haben Zugriff

17

Erkläre das Prinzip der Spezialisierung/Generalisierung

--

18

Was sind abstrakte Klassen?

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

19

Was gilt es zu beachten bei der Bildung von Klassenhierarchien?

Dass diese inhaltlich zusammenpassen.

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

20

Was ist ein Konstruktor?

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

21

Wie wird die vererbene Klasse genannt?

Basisklasse

22

Wie wird die erbende Klasse genannt?

Subklasse

23

Erkläre die Überschreibung von Methoden

--

24

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

--

25

Was ist die Methodensignatur?

--

26

Was bedeutet das "final" Keyword?

--