Objektorientierte Programmierung Flashcards
Was ist eine objektorientierte Programmiersprache?
eine Programmiersprache bestehend, die den Code mit Klassen, Objekten, Polymorphie, Kapselung und Vererbung strukturiert
Was ist eine Klasse?
eine Vorlage, die die Struktur und das Verhalten von Objekten definiert, indem sie Attribute (Daten) und Methoden (Funktionen) spezifiziert
Was ist ein Objekt?
eine Instanz einer Klasse, die Daten und Funktionen enthält
Was ist der Unterschied zwischen Public und Private bei der Definition?
public: in allen Klassen verfügbar
private: nur in dieser Klasse verfügbar
Was ist ein Konstruktor?
Definiert Startwerte und hilft bei der Initialisierung von Objekten einer Klasse
Was ist Vererbung?
Eine Klasse verwendet die Eigenschaften und Methoden einer anderen - ermöglicht Klassenhierarchie
Was ist Polymorphie?
Ermöglicht Objekten je nach Kontext den Zustand zu ändern oder etwas anders zu interpretieren z.B. Methode zeichnen und abgeleitete Klassen interpretieren diese als Kreis, Viereck etc.
Was ist Kapselung?
Klassen können den Zugriff auf Methoden beschränken und nur den Zugriff über definierte Schnittstellen zulassen
Was ist ein Interface?
eine Sammlung von Methodensignaturen, die die Schnittstelle definiert, über die Objekte miteinander interagieren können, ohne die Details der Implementierung preiszugeben.
Was ist eine Collection?
Eine Datenstruktur zum Speichern, wie eine Liste, Array etc.
Was ist Reflection?
eine Methodik um auf Metadaten von Objekten, Methoden etc. zuzugreifen während der Laufzeit
während dadurch dynamisch Methoden aufgerufen, Objekte erstellt und Eigenschaften geändert werden
Was Serialisierung bzw. Deserialisierung?
Umwandeln eines Objekts/Datenstruktur in ein Speicherbares Format
Deserialisierung ist das Wiederherstellen des gespeicherten Zustands
Was ist Datenabstraktion?
Klassen können den Zugriff auf Methoden beschränken und nur den Zugriff über definierte Schnittstellen zulassen
privat, public, restricted
Was sind abgeleitete Klassen?
-aus bereits existierenden Klassen können neue Klassen konstruiert werden
-neue, abgeleitete Klasse erbt die Daten und Methoden der Basisklasse
-kann auch weitere Eigenschaften haben, die die Basisklasse nicht hatte
Was sind Vorteile von Vererbung?
-hierarchische Beziehungen von Klassen möglich
-Wiederverwendbarkeit: bereits definierte und getestete Klassen können wiederverwendet werden