Instanz

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:

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.

Objektzugriff

Erst wenn das Objekt erzeugt wurde, sind die Instanzvariablen angelegt. Die öffentlichen (Sichtbarkeit public) Attribute und Methoden können dann über die Referenz auf das Objekt angesprochen werden. Dazu wird eine Punktnotation verwendet.

Nicht private Attribute

einMitarbeiter.nachname;

einMitarbeiter ist ein Objekt der Klasse Mitarbeiter. Dieses Objekt einMitarbeiter wird in einem anderen Objekt z.B. der Klasse Salon verwendet. Das Attribut nachname wird in der Klasse Mitarbeiter mit der Sichtbarkeit public deklariert. Es kann also von außen aufgerufen werden. Der Aufruf erfolgt durch den Variablennamen des zu verwendenden Objektes; hier einMitarbeiter. Dann folgt ein Punkt (.) und der Name des öffentlichen Attributes; hier nachname.

Nicht private Methoden

einMitarbeiter ist ein Objekt der Klasse Mitarbeiter. Dieses Objekt einMitarbeiter wird in einem anderen Objekt z.B. der Klasse Salon verwendet. Die Methode getNachname() wird in der Klasse Mitarbeiter mit der Sichtbarkeit public deklariert. Sie kann also von außen aufgerufen werden. Der Aufruf erfolgt durch den Variablennamen des zu verwendenden Objektes; hier einMitarbeiter. Dann folgt ein Punkt (.) und der Name der öffentlichen Methode; hier getNachname(). Falls in der Signatur vorgesehen, müssen Eingabeparameter mit passenden Datentypen in der richtigen Reihenfolge an die aufgerufene Methode übergeben werden!

// Methodenaufruf ohne Eingabeparameter

einMitarbeiter.getNachname();

// Methodenaufruf mit Eingabeparameter

einMitarbeiter.setNachname("Müller");