04.03.02 Attribute
Wie Sie bereits wissen, bestehen Klassen aus Attributen und Methoden. Folgendes Kapitel beschreibt die Verwendung von Attributen. Damit ist es möglich den Zustand eines Objektes zu beschreiben.
Attribute
Um Daten innerhalb eines Objektes verfügbar zu halten, verwendet man die sogenannten Attribute. Sie stellen den Zustand eines Objektes dar und werden Objektattribute genannt. Ein Sonderfall sind die Klassenattribute (siehe Kapitel 04.03.07 Verwendung von static). Ein Attribut besteht aus einem optionalen Modifizierer, Typ-Bezeichner, einem Namen und optional noch aus einer Initialisierung.
[Modifizierer] Typbezeichner name [= Initialwert]
Beispiele hierzu:
int i;
double d;
String version = “Version 1.0“;
EinObjekt einObjekt = new EinObjekt();
Sie sehen also, dass die Deklaration solcher Attribute eine starke Ähnlichkeit mit dem Deklarieren von Variablen (siehe Kapitel 02.02 Variablen Deklaration) aufweist. Die Vergabe eines Attributnamens sollte dabei den 07.05 Code Conventions folgen.
Fassen wir dies nun in einem Beispiel zusammen.
public class Punkt { public int x; public int y; }
Die Klasse Punkt
soll einen Punkt in der Ebene repräsentieren. Zu diesem Zweck enthält sie zwei Attribute namens x
und y
. Beide sind vom Typ int
und sollen den x und y Wert eines solchen Punktes enthalten.
Um nun mit dieser Klasse arbeiten zu können, müssen wir ein entsprechendes Objekt hierzu instanziieren (siehe Kapitel 04.02 Objekte). Dies erledigen wir in der main
Methode einer neuen Klasse TestPunkt
.
public class TestPunkt { public static void main(String[] args) { Punkt meinPunkt = new Punkt(); meinPunkt.x = 10; meinPunkt.y = 20; System.out.println("x-Wert: " + meinPunkt.x); System.out.println("y-Wert: " + meinPunkt.y); } }
Es wird nun ein neues Objekt mit dem Namen meinPunkt
und dem Typ Punkt
angelegt.
Punkt meinPunkt = new Punkt();
Um die Attribute dieses Objektes zu verwenden, müssen diese mit Hilfe eines Punktes (.) angesprochen werden.
meinPunkt.x = 10;
Hier wird auf das Attribut x
des Objektes meinPunkt
zugegriffen und dessen Wert auf 10 gesetzt.
Analog geschieht dies auch mit dem Attribut y
.
meinPunkt.y = 20;
Danach erfolgt die Ausgabe der beiden Attribute.
System.out.println("x-Wert: " + meinPunkt.x); System.out.println("y-Wert: " + meinPunkt.y);
Auf der Konsole erscheint folgender Text:
x-Wert: 10
y-Wert: 20
Damit endet diese Einführung zu den Attributen. Weitere wichtige Informationen finden sich unter Kapitel 04.03.03 Methoden, Kapitel 04.03.06 Sichtbarkeitsmodifizierer und Kapitel 04.03.08 Konstruktoren.
was passiert denn wenn ich als Atrribut
String hallo=“hallo“; schreibe.
Wird das automatisch private?
weil es ist ja kein Zwang private String hallo=“hallo“; zu schreiben
Hallo javauser,
dieser Artikel beschäftigt sich lediglich mit Attributen. Sichtbarkeitsmodifzierer werden, wie am Ende des Kapitels erwähnt, in einem separatem Kapitel besprochen.
Dort kann auch die Antwort auf die Frage gefunden werden. Ein Attribut ohne Modifizierer ist paketsichtbar. Alle Klassen, die im selben Package liegen, können auf das Attribut zugreifen.
Gruß
Stefan
wie ist das mit der klasse Punkt? muss ich die extra abspeichern oder einfach im quellcode drüber schreiben??
Hallo Frieder,
die Klasse
Punkt
muss extra abgespeichert werden. Jede Klasse erhält eine eigene Datei. Siehe hierzu auch folgende Kapitel:01.04.02 Analyse des Quellcodes
04.03.01 Allgemeines zu Klassen
Gruß
Stefan