Instanz: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Thomas (Diskussion | Beiträge) |
||
| (5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
[[Datei:Objektinstanz (rot) auf der Objektleiste in BlueJ.png|mini|alternativtext=Objektinstanz (rot) auf der Objektleiste in BlueJ]] | |||
== Einführung == | == Einführung == | ||
Wenn ein [[Objektorientierung|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 [[Methode|Methoden]] und [[Attribut|Attribute]], die im [[Quelltext]] der [[Klasse]] für Objekte dieser Klasse festgelegt wurden. | Wenn ein [[Objektorientierung|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 [[Methode|Methoden]] und [[Attribut|Attribute]], die im [[Quelltext]] der [[Klasse]] für Objekte dieser Klasse festgelegt wurden. | ||
| Zeile 30: | Zeile 31: | ||
[[Datei:Objektreferenz.jpg|mini]] | [[Datei:Objektreferenz.jpg|mini]] | ||
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. | 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. | ||
<html><iframe width=" | |||
<html><iframe width="280" height="157.5" src="https://www.youtube.com/embed/LYKRDQhpmbQ?si=vy7219JboxonZQam" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></html> | |||
== Nicht private Attribute == | == Nicht private Attribute == | ||
| Zeile 38: | Zeile 40: | ||
== Nicht private Methoden == | == 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! | 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 [[Methodensignatur|Signatur]] vorgesehen, müssen [[Eingabeparameter]] mit passenden Datentypen in der richtigen Reihenfolge an die aufgerufene [[Methode]] übergeben werden! | ||
<syntaxhighlight lang="Java"> | <syntaxhighlight lang="Java"> | ||
// Methodenaufruf ohne Eingabeparameter | // Methodenaufruf ohne Eingabeparameter | ||
| Zeile 47: | Zeile 49: | ||
einMitarbeiter.setNachname("Müller");</syntaxhighlight> | einMitarbeiter.setNachname("Müller");</syntaxhighlight> | ||
[[Kategorie: | |||
[[Kategorie:Programmierung]] | |||
[[Kategorie:AHR_I_Informatik_LK]] | |||
[[Kategorie:FI_I_SDM]] | |||
[[Kategorie:FI_I_TP1]] | |||