Attribut

Die Attribute sind die Eigenschaften , sprich die Beschreibungen der Daten, die von den Objekten einer Klasse angenommen werden können. So kann dem Attribut "Farbe" beispielsweise der Wert "Rot" zugewiesen werden. Zwar besitzen alle Objekte einer Klasse dieselben Attribute, die Wert müssen jedoch nicht gleich sein. So kann das nächste Objekt z.B. als Wert für das Attribut "Farbe" nun "Grün" haben.

Während die Klasse also eine Art "Rohbau" des Objektes ist und somit die Attribute/Variablen festlegt, findet man in einem Objekt neben den übernommenen Attributen nun auch die Attributwerte. Diese müssen nicht immer definiert sein. Ist das Feld für einen Attributwert frei, spricht man von einem optionalen Attribut. Dieses optionale Attribut bekommt nicht beim Erzeugen des Objektes einen Wert, sondern kann, muss aber nicht, später einen Wert zugewiesen bekommen.

Bsp.: Links die Klasse und rechts ein Objekt samt Attributwerten.

Objekt und Klasse Rennwagen

Nachfolgend werden noch zwei besondere Attribut-Typen vorgestellt: Das Klassenattribut und das abgeleitete Attribut.

Klassenattribut

Das Klassenattribut wird im Klassendiagramm unterstrichen dargestellt: klassenattribut. Wie der Name schon sagt, gilt dieses Attribut für die gesamte Klasse und all ihren Objekten. Das Klassenattribut lässt sich also nicht einem bestimmten Objekt zuordnen. Nehmen wir beispielsweise die Klasse Formel 1 mit dem Attribut: "anzahlRennställe", dann würde sich hier ein Klassenattribut (anzahlRennställe) anbieten, da die Anzahl der Rennställe ja in der Saison normalerweise gleich bleibt. Oder bei der Klasse "Sparbuch" wäre ein Klassenattribut z.B. der Zinssatz, vorausgesetzt dieser ist bei allen Sparbüchern immer gleich.

Abgeleitetes Attribut

Von einem abgeleiteten Attribut spricht man, wenn man den Wert dieses speziellen Attributes durch andere Attributwerte berechnen kann. Hat man beispielsweise das Attribut "baujahr" kann man davon das abgeleitete Attribut "/alter" berechnen. Wie man schon sieht wird das abgeleitete Attribut durch ein Slash "/" gekennzeichnet.