Konstruktoren

Mit dem Laden des Videos akzeptierst du die Datenschutzerklärung von YouTube. Wenn du die Menge an Daten reduzieren möchtest, die YouTube von dir sammelt, solltest du dich vorher aus deinem YouTube-Account ausloggen, das Speichern von Cookies für das Google-Ads-Programm deaktivieren und/oder Cookies im Browser blockieren.
YouTube immer automatisch ladenInhaltsverzeichnis
Als Text lesen
Wie dir vielleicht schon aufgefallen ist, werden beim Erstellen von Objekten sehr häufig direkt im Anschluss Attribute dieses Objekts gesetzt. Um diesen Teil etwas zu verschönern gibt es einen besonderen Code-Block: Den Konstruktor
Ein Konstruktor nimmt Werte (Parameter / Argumente) entgegen, die direkt für die Instanziierung des Objekts verwendet werden können. In unserem Rechteck-Beispiel könnte das so aussehen:
In diesem Beispiel werden dem Konstruktor also alle vier Attribute als lokale Variablen übergeben und anschließend im Objekt selbst gespeichert.
Wie du siehst, müssen hierbei die Benennungen der Parameter angepasst werden, weil es sonst Namenskonflikte gibt. Es gibt aber eine Möglichkeit, trotzdem identische Namen zu verwenden: Das this
-Keyword:
Das this
-Keyword ermöglicht es uns zu betonen, dass wir etwas aus dem eigenen Objekt meinen.
Der Compiler weiß also durch Verwendung von this
, dass in Zeile 9 die in Zeile 2 deklarierte Objektvariable posX
gemeint ist, und nicht der gleichnamige Parameter aus Zeile 8. Gleichzeitig ist auch klar, dass ohne Verwendung von this
eben doch die übergebene lokale Variable gemeint ist, und nicht die Objektvariable.
Wenn wir nun ein neues Rectangle
Objekt instanziieren, können wir direkt die Eigenschaften übergeben:
Erstelle einen Konstruktor für die in der letzten Aufgabe beschriebenen Klasse User
. Dieser soll wie im obigen Beispiel lediglich alle Attribute der Klasse als Parameter entgegennehmen und dann die Objektattribute entsprechend setzen.
Erstelle anschließend in der main
-Methode die folgenden User
-Objekte:
- Ted Shmosby, befreundet mit Barnacle, Stuart und Ranjit
- Barnacle Stinson, befreundet mit Ted und Ranjit
- Stuart Bowers, befreundet mit Ted
- Ranjit Singh, befreundet mit Ted und Barnacle
Die id
s kannst du frei wählen.

Mit dem Laden des Online Editors akzeptierst du die Datenschutzerklärung von JDoodle, einem Produkt der Nutpan pty Ltd (Australien). JDoodle verwendet die Tools reCAPTCHA und Google Analytics, wodurch Daten an Google übertragen werden können. Ich habe leider keinen Einfluss auf diesen Prozess. Du kannst Google Analytics über ein Browserplugin deaktivieren.
Online Editor immer automatisch ladenSpeichere anschließend die vier User
in einem Array
und gib aus diesem Array die Namen aller User
aus, die mehr als einen Freund haben.
Häufige Fehlerquellen
this
falsch verwendet- Array-Größen falsch
error: cannot find symbol
: Du hast eine Variable verwendet, bevor sie deklariert wurde. Erstelle zuerst die leeren Arrays, und befülle sie nachdem dasUser
-Objekt instanziiert wurde.