Klassen Flashcards
Was versteht man unter objektorienterte Programmierung?
Reale Objekte und Sachverhalte mittels Software abstrakt zu modellieren bzw darzustellen
Was versteht man unter Computational Thinking?
Das Herangehen an Problemstellungen in einer Denkweise eines Computers. Probleme identifizieren > Probleme abstrakt modellieren > Teilprobleme zerlegen > Lösungsstrategien finden > formalisiert darstellen, sodass man als Mensch sie verstehen und ausführen kann
Was bedeutet Abstraktion? Was versteht man in der objektorientierten Programmierung darunter?
Eine vereinfachte Modellierung durch Weglassen von Details. Reale Sachverhalte und ihre Eigenschaften werden in vereinfachter Weise abgebildet
Was ist das Ziel in der objektorientierten Programmierung?
Lösungen von Problemstellungen, sowie Modelle möglichst einfach und realitätsnah zu modellieren
Was versteht man unter Kapselung?
Konzepte (z.B. Form, Kreis, Polygon) zu separieren; Datenkapselung verhindert den Missbrauch und die falsche Benutzung der Daten; Zugriffsrechte für Variablen, Methoden und Klassen werden definiert; erlaubt einfache Modellierung
Was sind Klassen?
Baupläne mit verschiedenen Eigenschaften und Methoden für eine Reihe von Objekten. Sie enthalten Eigenschaften (Membervariablen) und Operationen/Methoden (Memberfunktionen) mit denen man Objekte erzeugen kann. Sie dienen der Abstraktion und der Repräsentation von realen Objekten und Sachverhalten
Was sind Instanzen einer Klasse?
Objekte einer Klasse, welches Exemplare aus den Eigenschaften und Methoden einer Klasse sind. Durch Konstruktoren werden sie aus Klassen gebildet und haben ihren eigenen Datentyp, Eigenschaften und Methoden
Was ist eine Instanzierung?
Das Erzeugen eines konkreten Objekts einer Klasse. Während der Instanzierung wird ein Konstruktor ausgeführt.
Ein Beispiel für ein konkretes Objekt wäre ein Objekt, welches die Eigenschaften z.B. eines konkreten Autos z.B. einem Porsche beschreibt und in die Klasse “Auto” gehört, die Eigenschaften und Methoden für die Modellierung von Autos enthält
Welche Zugriffsebenen in der Kapselung gibt es?
private, protected und public
Was versteht man unter private?
Das Objekt ist durch Memberfunktionen zugreifbar; Zugriff nur innerhalb der Klasse; Standardeinstellung
Was versteht man unter protected?
Das Objekt ist nur durch die Klasse selbst oder durch abgeleiteten Klassen/Kindklassen (Vererbungen) zugreifbar
Was versteht man unter public?
Das Objekt ist öffentlich und ist immer von jedem außerhalb, als auch innerhalb der Klasse zugreifbar
Wie ist die Implementierung einer Klasse in C++ typischerweise aufgeteilt?
In zwei Dateien aufgeteilt. Die Deklaration der Klasse hat in der Datei die Endung “.h” und definiert die Struktur bzw. Schnittstelle für Nutzer. Die Implementierung hat in der Datei die Endung “.cpp” und implementiert die Memberfunktionen
Was ist ein Konstruktor?
Ein Konstruktor ist eine spezielle Methode bzw. Memberfunktion, die Objekte erzeugt, Ressourcen allokiert und Membervariablen initialisiert. Die Funktion hat keinen Rückgabetyp; der Name ist identisch zu dem der Klasse; Konstruktoren können mit Parametern versehen werden; Compiler definiert automatisch einen Konstruktor, falls noch keiner vordefiniert wurde
Was ist ein Destruktor?
Ein Destruktor ist verantwortlich für das Freigeben der vom Objekt genutzten allokierten Ressourcen; besitzt keinen Rückgabetyp; Name ist identisch zu dem der Klasse mit Tilde ~ davor; hat keine Parameter; niemals vom Nutzer aufgerufen; wird immer bei dynamischer Speicherallokation benötigt