Objekt (Informatik)/Java: Unterschied zwischen den Versionen

Aus KGS-Wiki
(Angefangen)
K (Vorlage Java)
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:Objekte in Java}}
In [[Java (Programmiersprache)|Java]] werden sämtliche Komponenten eines Programms als [[Klasse (Informatik)|Klassen]] begriffen, von denen [[Objekt (Informatik)|Objekte]] erzeugt werden können.
In [[Java (Programmiersprache)|Java]] werden sämtliche Komponenten eines Programms als [[Klasse (Informatik)|Klassen]] begriffen, von denen [[Objekt (Informatik)|Objekte]] erzeugt werden können.


Einzige Ausnahme bilden die primitiven [[Datentyp|Datentypen]] <code>boolean</code>, <code>char</code>, <code>byte</code>, <code>short</code>, <code>int</code>, <code>long</code>, <code>float</code> und <code>double</code> sowie [[Array|Arrays]].
Einzige Ausnahme bilden die primitiven [[Datentyp]]en {{Java|boolean}}, {{Java|char}}, {{Java|byte}}, {{Java|short}}, {{Java|int}}, {{Java|long}}, {{Java|float}} und {{Java|double}} sowie [[Array]]s.


== Objekte erzeugen ==
== Objekte erzeugen ==
Mit dem Schlüsselwort <code>new</code> kann ein neues Objekt erzeugt werden. Dahinter muss der Name der Klasse angegeben werden, von der eine Instanz erzeugt werden soll, sowie gegebenenfalls in Klammern Parameter zur Instanziierung. Falls keine Parameter übergeben werden sollen, müssen die Klammern trotzdem gesetzt und leer gelassen werden.
Mit dem Schlüsselwort {{Java|new}} kann ein neues Objekt erzeugt werden. Dahinter muss der Name der Klasse angegeben werden, von der eine Instanz erzeugt werden soll, sowie gegebenenfalls in Klammern Parameter zur Instanziierung. Falls keine Parameter übergeben werden sollen, müssen die Klammern trotzdem gesetzt und leer gelassen werden.
{{Beispiel|Der folgende Code erzeugt eine leere Liste und einen Button, der mit ''Schließen'' beschriftet ist.  
{{Beispiel|Der folgende Code erzeugt eine leere Liste und einen Button, der mit ''Schließen'' beschriftet ist.  
<syntaxhighlight lang="java">
<syntaxhighlight lang="java">
Zeile 10: Zeile 12:
quitButton = new Button("Schließen");
quitButton = new Button("Schließen");
</syntaxhighlight>}}
</syntaxhighlight>}}
{{Lückenhaft|Diese Seite ist erst mal nur ein Stub, um die automatische Generierung der Navileiste zu überprüfen.
 
}}{{Navigationsleiste Objekte in verschiedenen Sprachen}}
Beim Erzeugen eines Objektes muss auch immer eine [[Referenz]] darauf angelegt werden, d.h. es muss eine Möglichkeit geben, auf das Objekt zuzugreifen. Dies kann zum Beispiel dadurch geschehen, dass das Objekt als [[Variable (Informatik)|Variable]] gespeichert oder einer Liste hinzugefügt wird.
 
== Objekte löschen ==
In Java muss und kann man Objekte nicht selbst löschen. Ein Objekt wird automatisch vom Garbage Collector gelöscht, sobald keine Referenzen mehr darauf existieren.
{{Beispiel|<syntaxhighlight lang="java">
quitButton = null;
</syntaxhighlight>
Indem {{Java|quitButton}} auf [[null|{{Java|null}}]] gesetzt wird, geht die Referenz zu dem Button verloren. Es gibt nun keine Möglichkeit mehr, auf diesen Button zuzugreifen und darum wird er gelöscht.}}
 
==Attribute von Objekten==
 
Im Sinne der [[Datenkapselung]] ist ein direkter Zugriff auf die Attribute von Objekten unerwünscht. Stattdessen ist der Zugriff in der Regel nur über [[Unterprogramm#Methode|Methoden]] möglich. Da diese häufig (aber nicht immer) mit den Präfixen {{Java|get}} und {{Java|set}} beginnen, werden sie auch ''Getter'' und ''Setter'' genannt.
 
{{Beispiel|<syntaxhighlight lang="java"> quitButton.getText();
// ergibt "schließen"
 
quitButton.setText("Beenden");
// ändert den Text in "Beenden"
 
emptyList.size();
// ergibt 0. Diese methode könnte genau so gut "getSize()" heißen.</syntaxhighlight>}}
 
==Weblinks==
 
* {{W3Schools|java/java_classes.asp|Java Classes/Objects}}
{{Navigationsleiste Objekte in verschiedenen Sprachen}}

Aktuelle Version vom 3. August 2024, 22:05 Uhr


In Java werden sämtliche Komponenten eines Programms als Klassen begriffen, von denen Objekte erzeugt werden können.

Einzige Ausnahme bilden die primitiven Datentypen boolean, char, byte, short, int, long, float und double sowie Arrays.

Objekte erzeugen

Mit dem Schlüsselwort new kann ein neues Objekt erzeugt werden. Dahinter muss der Name der Klasse angegeben werden, von der eine Instanz erzeugt werden soll, sowie gegebenenfalls in Klammern Parameter zur Instanziierung. Falls keine Parameter übergeben werden sollen, müssen die Klammern trotzdem gesetzt und leer gelassen werden.

💬
Beispiel

Der folgende Code erzeugt eine leere Liste und einen Button, der mit Schließen beschriftet ist.

emptyList = new ArrayList();
quitButton = new Button("Schließen");

Beim Erzeugen eines Objektes muss auch immer eine Referenz darauf angelegt werden, d.h. es muss eine Möglichkeit geben, auf das Objekt zuzugreifen. Dies kann zum Beispiel dadurch geschehen, dass das Objekt als Variable gespeichert oder einer Liste hinzugefügt wird.

Objekte löschen

In Java muss und kann man Objekte nicht selbst löschen. Ein Objekt wird automatisch vom Garbage Collector gelöscht, sobald keine Referenzen mehr darauf existieren.

💬
Beispiel
quitButton = null;

Indem quitButton auf null gesetzt wird, geht die Referenz zu dem Button verloren. Es gibt nun keine Möglichkeit mehr, auf diesen Button zuzugreifen und darum wird er gelöscht.

Attribute von Objekten

Im Sinne der Datenkapselung ist ein direkter Zugriff auf die Attribute von Objekten unerwünscht. Stattdessen ist der Zugriff in der Regel nur über Methoden möglich. Da diese häufig (aber nicht immer) mit den Präfixen get und set beginnen, werden sie auch Getter und Setter genannt.

💬
Beispiel
 quitButton.getText();
// ergibt "schließen"

quitButton.setText("Beenden");
// ändert den Text in "Beenden"

emptyList.size();
// ergibt 0. Diese methode könnte genau so gut "getSize()" heißen.

Weblinks