Was ist eine Klasse?
Die Klasse dient als Bauplan für Objekte und beschreibt Eigenschaften (Daten) und Methoden (Verhaltensweisen) der Objekte. In anderen Worten, wie das Objekt gebaut wird und wie es sich verhält. Formal gesehen belegt eine Klasse somit zur Laufzeit keinen Arbeitsspeicher, sondern nur die Objekte, die von ihr instanziiert wurden.
Was ist ein Objekt?
Ein Objekt(auch Instanz genannt) bezeichnet ein Exemplar eines bestimmten Datentyps oder einer bestimmten Klasse (auch “Objekttyp” genannt). Objekte sind konkrete Ausprägungen (Instanzen) eines Objekttyps und werden während der Laufzeit erzeugt (Instanziierung). Sie sind nicht nur zu Ihren eigenen Klassen, sondern auch zu den entsprechenden Basisklassen zuweisungskompatibel.
Jedes Objekt hat einen Zustand, ein Verhalten und eine Identität.
Der Zustand des Objektes setzt sich aus seinen Eigenschaften (Daten) und Verbindungen zu anderen Objekten zusammen.
Das Verhalten des Objektes wird durch die Menge seiner Methoden beschrieben.
Die Identität unterscheidet ein Objekt von anderen Objekten, auch wenn diese anderen Objekte den gleichen Zustand und das gleiche Verhalten haben.
Wie können Objekte erzeugt werden?
Durch Konstruktion wird aus einer Klasse ein Objekt oder Exemplar(Instanz) erzeugt. Die Instanz besitzt dann zur Laufzeit seinen eigenen Datentyp, Eigenschaften und Methoden.
Konstruktor kann nicht explizit aufgerufen werden (new).
Was passiert bei der Vererbung?
Was bezeichnet man als Container-Klassen?
Container-Klassen beschreiben Objekte, die eine statisch unbestimmte Zahl anderer Objekte aufnehmen können und dafür eine bestimmte Organisationsform verwenden.
Was ist eine Methode?
Methoden sind
Method overloading
ermöglicht mehrere gleichnamige Methoden in einer Klasse oder Struktur
Was sind statische Methoden?
Wofür steht „this“?
Was versteht man unter Polymorphismus?
Abgeleitete Klassen haben bestimmte Funktionalitäten mit der Basisklasse gemeinsam, können jedoch auch eigene Verhaltensweisen definieren. Diese Fähigkeit nennt man Polymorphismus.
Das Objekt kann zur Laufzeit wie ein Objekt der Basisklasse behandelt werden. Wenn eine Methode aufgerufen wird, wird erst der genaue Typ festgestellt und die entsprechende Methode der abgeleiteten Klasse aufgerufen.
Virtuelle Methoden und Properties
Virtuelle Methoden und Properties müssen gekennzeichnet werden:
Was sind abstrakte/virtuelle Klassen?
Abstrakte Klassen
Virtuelle Klassen
Was ist ein Konstruktor?
Ein Konstruktor
Defaultkonstruktor
Was sind Exceptions?