Vielleicht habt ihr in unseren Java Artikeln schon etwas ähnliches gelesen. Doch bei diesem Artikel betrachten wir Objekte von einem wesentlichen allgemeineren Standpunkt.

Definition

Ein Objekt ist eine eigenständige Einheit, die…

… reale Dinge (Gegenstände aus dem realen Leben wie Handys, Autos …)
… abstrakte Vorgänge (immaterielle Vorgänge wie ein Unterricht)
… abstrakte Dinge  (Dinge welche wir schwer in der Realität greifen können wie Wissen)
… Datenstrukturen (Die Welt ist strukturiert in Listen (Klassenliste, Kontaktliste) oder Strukturen (Organigramme oder Hierarchiebeziehungen in Firmen), diese können in einem Objekt dargestellt werden)

abbildet.

Dabei ist ein Objekt immer in einem Zustand, welches über Verhalten diesen ändern kann. Die Identität des Objekts bleibt davon unberührt. Außerdem kann ein Objekt in Beziehung mit anderen Objekten sein.

Zustand

Der Zustand eines Objekts wird in den Attributen festgehalten. Die Werte, die den Attributen zugewiesen werden, werden nennt Attributwerte genannt. Das Objekt befindet sich daher zu jedem Zeitpunkt, zu dem es „lebt“ (existiert) in einem Zustand, der sich über die Zeit ändern kann. Betrachten wir ein Objekt mit dem Namen Mitarbeiter1, so sind mögliche Attribute die Personalnummer, der vollständige Name, seine Adresse und das Gehalt. Attributwerte wären dann für die Personalnummer 323474 und sein Name kann „Peter Müller“ sein. Das wäre dann der Zustand eines Objekts.

Verhalten

Das Verhalten beschreibt die Aktionen, die ein Objekt durchführen kann. Das können auch ganz normale Abfragen über den Zustand sein um das Prinzip der Datenkapselung erfolgreich umzusetzen. Unser Mitarbeiter1 könnte so Operationen durchführen die seinen Zustand unbeeinflusst lassen wie gibName und gibZustand oder zustandsbeeinflussende Operationen durchführen wie erhöheGehalt und einstellen.

Identität

Die Identität eines Objekts ist für jedes Objekt einzigartig, selbst wenn der Zustand derselbe ist unterscheiden sich die Identitäten der Objekte. Es ist sehr wichtig, dass die Identität nicht mit dem Zustand verwechselt wird.

Beziehung

Die Beziehung zwischen Objekten ermöglicht die Kommunikation zwischen diesen. Die Verbindung zwischen Objekten wird Objekt Link genannt.

Design

All das kann auch grafisch in einem Objektdiagramm dargestellt werden. Die Richtlinien wurden durch die OMG (Object Management Group) in einem UML Standard vereinheitlicht. In diesem Artikel wird die Version 2.5.1 behandelt.
Ein Objektdiagramm sieht wie folgt aus:

Das Mindeste was ein Objektdiagramm enthalten muss ist die der Objektname und die Klasse, zu der das Objekt gehört. Wichtig wie bei jeder Namensgebung ist es einen Namen zu geben, der die Funktion genau beschreibt. So ist für die Klasse „Baum“ der Objektname „Eiche“ wesentlich treffender (insofern eine Eiche mit diesem Objekt realisiert werden soll), als der Begriff „Gewächs“ der für jede Pflanze gelten könnte.
Die Attribute sollten im Großteil aller Fälle ein Nomen im Singular sein. Außerdem wird der Anfangsbuchstabe eines Attributes grundsätzlich kleingeschrieben, besteht das Attribut aus mehreren Wörtern sollte Kamelschrift verwendet werden z.B. bezeichnungName. Zusätzlich können die Sichtbarkeiten, Attributwerte ob es sich um ein Klassenattribut handelt oder nicht angegeben werden.
Methoden beginnen mit einem Verb und werden mit Klammern abgeschlossen. Außerdem kann der Rückgabewert angegeben werden. Die restlichen Regeln sind wie bei den Attributen.
Object Links sind Linien, die zwischen 2 Objekten gezogen werden. Wo die Linie auf dem äußeren Kasten anfängt und endet ist dabei egal.

Sequenzdiagramme

Objekte können nicht nur einzeln wie in dem Kapitel Design dargestellt werden, sondern als gesamtes Zusammenspiel des Programmes. Das Diagramm hierfür wird Sequenzdiagramm genannt und zeigt den zeitlichen Verlauf des Informationsaustausches. Folgendes Bild beschreibt alle wichtigen Funktionen des Sequenzdiagramms.

Jedes Objekt, welches immer besteht (persistent ist), wird auf die Höhe von Objekt 1 geschrieben. Alle kurzlebigen (transient) Objekte werden über den Befehl create erzeugt und später mit destroy wieder zerstört. Transiente Objekte werden erst mit dem create Befehl in das Diagramm eingefügt. Die Kommunikation zwischen Objekten wird über Pfeile dargestellt auf denen meist die Methodennamen des Objektes stehen. Die Antwort des Objektes kann entweder die Parameter oder eine Methode aus diesem Objekt sein.
Außerdem lassen sich Schleifen (loop) und Verzweigungen (alt) wie in der Grafik darstellen. Dabei ist es sinnvoll die loop um eine Abbruchbedingung und die alt um eine logische Bedingung zu erweitern.

Kommunikationsdiagramm

Wenn die Beziehung zwischen den Objekten im Vordergrund stehen soll, wird die zeitliche Komponente aus dem Sequenzdiagramm genommen und nur die Objekte über Pfeile mit den Methodennamen verbunden. Beispielhaft sähe das so aus:

Für noch mehr Informationen schaut einfach hier vorbei:
https://www.studiumbestehen.de/objekte-in-java/
httpss://www.uml.org