Methoden/Operationen

Eine Methode oder auch Operation genannt, ist eine ausführbare Tätigkeit. Durch die Menge aller Methoden/Operationen wird das Verhalten der Klasse ausgedrückt. Die Operationen/Methoden findet man im Klassen- und auch Objektdiagramm meist in der dritten und letzten Spalte. Eine Operation/Methode erkennt man an denn abschließenden Klammern: ().

Operationen/Methode in Klasse

Wie auch bei den Objekten kann man Operationen/Methoden in verschiedene Arten einteilen. Da wären beispielsweise die Objektoperationen (kurz Operationen), die Konstruktoroperationen, die Klassenoperationen oder auch die abstrakten Operationen. Nachfolgend sollen diese Operationsarten vorgestellt werden.

Objektoperationen

Beim Begriff Operation versteht man meist die Objektoperation, die wohl am häufigsten vorkommen dürfte. Sie wird stets auf ein einzelnes (bereits existierendes) Objekt angewendet. Beispiel: Operation "starten()" startet einen Rennwagen und gehört somit zur Klasse "Rennwagen".

Konstruktoroperationen

Die Konstruktoroperation erzeugt ein neues Objekt und führt Initialisierungen und Datenerfassungen durch. Im oberen Klassenbeispiel wäre die Konstruktoroperation folgende Operation: "rennwagen()"

Klassenoperationen

Wie auch beim Klassenattribut ist die Klassenoperation der jeweiligen Klasse zugeordnet und nicht einem einzelnen Objekt. Auch sie wird durch ein Unterstreichen gekennzeichnet: "klassenoperation()"

Abstrake Operationen

Eine Operation bezeichnet man als abstrakte Operation, wenn diese nur die Signatur enthält, die aber nicht spezifiziert bzw. implementiert ist. Sobald eine Klasse eine abstrakte Operation/Methode besitzt wird die ganze Klasse zu einer abstrakten Klasse. Eine genaue Spezifikation bzw. Implementierung der Methode findet man letztendlich in der Unterklasse.

Boxenstopp als abstrakte Methode

Beispiel einer abstrakten Methode/Operation wäre die fiktive Operation "erledigeBoxenstopp()". An einem Boxenstopp sind mehrere Personen beteiligt, die jeweils etwas unterschiedliches machen. Deswegen definiert man nun die abstrakte Methode "erledigeBoxenstopp()" in der Klasse "Box", die eigentliche Implementierung, die ja immer unterschiedliche ausfällt, wird dann in den Unterklassen wie beispielsweise "Betanker" oder "Reifenwechseler" durchgeführt.