Instanz

Aus FLBK-Wiki
Zur Navigation springen Zur Suche springen

Einführung

Wenn ein Objektorientiertes-Programm ausgeführt wird, müssen konkrete Objekte nach dem Bauplan der entsprechenden Klasse erzeugt werden. Diese Objekte werden auch Instanzen genannt. Den Prozess der Objekterzeugung nennt man Instanziierung. In Java wird dabei Speicherplatz für die Variablen des Objektes reserviert, und eine Referenz auf das neu erzeugte Objekt wird möglich. Sie erlaubt den Zugriff auf alle öffentlichen Methoden und Attribute, die im Quelltext der Klasse für Objekte dieser Klasse festgelegt wurden.

Objekterzeugung

Um ein Objekt einer Klasse im Quelltext anzulegen, benutzt man das Schlüsselwort new zusammen mit der Angabe eines Konstruktors dieser Klasse. Als Ergebnis liefert new eine Referenz auf das neue Objekt. Dabei werden folgende Schritte durchlaufen:

  • Aufgezählter Listeneintrag

Reservierung von Speicherplatz für die Instanzvariablen der Klasse.

  • Aufgezählter Listeneintrag
  • Standard-Initialisierung der Instanzvariablen; den Attributen werden abhängig von ihrem Typ Anfangswerte zugewiesen:
    • Numerische Variablen: 0
    • Zeichen-Variablen: '\0'
    • Boolesche Variablen: false
    • Object-Variablen: null
  • Explizite Initialisierung; ist den Variablen bei ihrer Deklaration gleich ein Wert zugewiesen worden, so werden sie nun auf diesen Wert gesetzt.
  • Der aufgerufene Konstruktor wird ausgeführt. Auch hier können Standardwerte für die Variablen festgelegt werden.

Diese Methode erzeugt eine neue Instanz eines Mitarbeiters und fügt die Instanz der Mitarbeiterliste (ein weiteres Objekt) einer Salon-Instanz zu.

public void erstelleMitarbeiter(String vorname, String nachname){

Mitarbeiter einMitarbeiter = new Mitarbeiter (vorname, nachname);

salon.getMitarbeiterListe().add(einMitarbeiter );

}

Referenzierung

Zu beachten ist, dass einMitarbeiter nicht das Objekt selbst ist. einMitarbeiter stellt nur eine von mehreren möglichen Referenzen auf das neu erzeugte Objekt dar. Es besteht die Möglichkeit in der gleichen oder einer anderen Klasse eine weitere Variable zu deklarieren, die den Wert von einMitarbeiter zugewiesen bekommt und damit das gleiche Objekt wie einMitarbeiter referenziert.