Konstruktor: Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Syntaxdiagramm == Datei:constructor_declaration.png“) |
Hauer (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
+ | Ein '''Konstruktor''' ist eine besondere Methode von Klassen. Ein Konstruktor kann nur in Kombination mit dem Schlüsselwort '''new''' aufgerufen werden. Beim Aufruf des Konstruktors werden auf dem [[Heap (Speicher)]], also dem Speicherbereich für Objekte, genug Bytes für genau ein neues Objekt der entsprechenden Klasse reserviert und eine Referenz auf dieses neue Objekt zurückgegeben. Der Konstruktor hat nun die Aufgabe, das entsprechende Objekt zu initialisieren. Dazu werden dem Konstruktor meistens Parameter übergeben, um die initalen Werte des neuen Objektes zu spezifizieren oder durch im Konstruktor stattfindende Berechnungen zu erzeugen. | ||
+ | |||
== Syntaxdiagramm == | == Syntaxdiagramm == | ||
[[Datei:constructor_declaration.png]] | [[Datei:constructor_declaration.png]] | ||
+ | |||
+ | === Verwendung === | ||
+ | |||
+ | Ein Konstruktor hat immer den selben Namen wie die ihn enthaltende Klasse und besitzt ''keinen'' Rückgabetyp; auch nicht [[void]]! Der Name wird wie üblich gefolgt von runden Klammern in denen die Parameterliste des Konstruktors definiert wird. | ||
+ | |||
+ | Wird ein Attribut während der initialisierung des Objektes nicht durch den Konstruktor explizit gesetzt, so hat es im Falle eines [[boolean]]s den Wert '''false''', im Falle einer numerischen Variable den Wert '''0''', oder im Falle einer Objektreferenz den Wert [[null]]. Dies gilt natürlich jedoch nicht, wenn in der Deklaration der Variablen ihr initaler Wert direkt durch eine Zuweisung fest gelegt wird. In diesem Falle nimmt die Variable vor Ausführung des Konstruktors diesen Wert an, der Konstruktor kann ihn aber natürlich noch nachträglich ändern. | ||
+ | |||
+ | = Default Konstruktor = | ||
+ | |||
+ | Wird ''kein'' Konstruktor in einer Klasse spezifiziert, so exisitert dennoch ein sogenannter '''default Konstruktor''', oder '''Standardkonstruktor'''. Dieser besitzt keine Parameter und initialisiert kein Attribut, wodurch alle Attribute entweder mit false, 0, null oder ihrem initalen Wert bei Deklaration initialisiert werden. |
Version vom 11. April 2016, 21:54 Uhr
Ein Konstruktor ist eine besondere Methode von Klassen. Ein Konstruktor kann nur in Kombination mit dem Schlüsselwort new aufgerufen werden. Beim Aufruf des Konstruktors werden auf dem Heap (Speicher), also dem Speicherbereich für Objekte, genug Bytes für genau ein neues Objekt der entsprechenden Klasse reserviert und eine Referenz auf dieses neue Objekt zurückgegeben. Der Konstruktor hat nun die Aufgabe, das entsprechende Objekt zu initialisieren. Dazu werden dem Konstruktor meistens Parameter übergeben, um die initalen Werte des neuen Objektes zu spezifizieren oder durch im Konstruktor stattfindende Berechnungen zu erzeugen.
Syntaxdiagramm
Verwendung
Ein Konstruktor hat immer den selben Namen wie die ihn enthaltende Klasse und besitzt keinen Rückgabetyp; auch nicht void! Der Name wird wie üblich gefolgt von runden Klammern in denen die Parameterliste des Konstruktors definiert wird.
Wird ein Attribut während der initialisierung des Objektes nicht durch den Konstruktor explizit gesetzt, so hat es im Falle eines booleans den Wert false, im Falle einer numerischen Variable den Wert 0, oder im Falle einer Objektreferenz den Wert null. Dies gilt natürlich jedoch nicht, wenn in der Deklaration der Variablen ihr initaler Wert direkt durch eine Zuweisung fest gelegt wird. In diesem Falle nimmt die Variable vor Ausführung des Konstruktors diesen Wert an, der Konstruktor kann ihn aber natürlich noch nachträglich ändern.
Default Konstruktor
Wird kein Konstruktor in einer Klasse spezifiziert, so exisitert dennoch ein sogenannter default Konstruktor, oder Standardkonstruktor. Dieser besitzt keine Parameter und initialisiert kein Attribut, wodurch alle Attribute entweder mit false, 0, null oder ihrem initalen Wert bei Deklaration initialisiert werden.