Objektorientierung Flashcards
Was ist die Objektorientierung?
Ein Programmierparadigma, welches mit Objekten arbeitet.
Zeichnet sich hauptsächlich durch drei Konzepte aus:
- Vererbung
- Kapselung
- Polymorphie
Was ist ein Objekt?
Ein Ding aus der realen Welt, welches Eigenschaften (Attribute) und Funktionen (Methoden) hat.
Bspw. das Modell eines Fahrzeugs oder das Abschlussdatum eines Kaufvertrags
Was ist eine Klasse?
Klassen sind Baupläne für Objekte, in denen die Attribute und Methoden definiert werden.
Objekte sind dann Instanzen dieser Klasse, welche die konkreten Angaben beinhalten (der grüne BMW).
Was ist die Datenkapselung?
- 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.
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
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.
- Überall wo ich eine Basisklasse oder ein Interface erwarte, kann auch eine Subklase oder implementierende Klasse verwendet werden
Erkläre die Methodenüberschreibung
Methoden können in Subklassen überschrieben werden. Das bedeutet, dass in der Subklasse eine Methode mit derselben Signatur (Methodenname + Parameter) implementiert wird.
Erkläre die Methodenüberladung
Wenn zwei oder mehr Methoden einer Klasse den gleichen Namen, aber verschiedene Parameterlisten haben, spricht man vom Überladen der Methoden.
Was ist ein Konstruktor?
Ein Konstruktor wird verwendet, um ein Objekt einer bestimmten Klasse zu erstellen.
Was ist eine abstrakte Klasse?
Dienen als Basisklasse und können selbst nicht als Objekt erzeugt werden.
Was sind Zugriffsmodifizierer?
Werden benutzt, um den Zugriff auf Methoden und Attribute zu steuern.
Welche Zugriffsmodifizierer kennst du in Java?
protected, private, public und default (package-private)
Wie wird die vererbene Klasse auch genannt?
Basisklasse
Wie wird die erbende Klasse auch genannt?
Subklasse