Sie bestimmen demnach das Verhalten eines Objekts, seine Funktion.
Attribute nehmen hingegen Informationen auf. Hierbei kann es sich um Zeichen, Text oder Zahlen handeln. Normalerweise operieren die Methoden einer Klasse (eines Objekts) auf ihren Attributen, wobei natürlich im Rahmen des Nachrichtenaustauschs mit anderen Objekten auch externe Informationen (also Werte, die durch andere Objekte berechnet wurden) bearbeitet werden können. Gerade die Kommunikation der Objekte untereinander ermöglicht ja erst komplexe Programme. Fragen wir noch einmal: Was sind Attribute? Attribute sind die Eigenschaften eines Objekts, die es von anderen Objekten unterscheidet. Sie bestimmen das Erscheinungsbild, oder den Status, eines Objekts. Stellen wir uns eine Klasse car vor. Was wären dann bestimmende Eigenschaften dieser Klasse? Die Farbe des Wagens, die Marke, Angaben zur Motorisierung, Anzahl der Türen, Reifentyp, ...

Attribute werden durch Variablen definiert. Weil jedes Objekt (als Instanz einer Klasse) unterschiedliche Werte für die einzelnen Eigenschaften aufnehmen kann, sprechen wir hierbei von Instanzvariablen. Sie bilden sozusagen den Normalfall. Klassenvariablen hingegen sind in jeder Instanz einer Klasse, aber auch der Klasse selbst, sichtbar.

Java - der Kurs: Teil 3 - 2 / 8