Otto-von-Guericke-Universitdt Magdeburg UML UML-Tutorial

Klassendiagramm

Klasse

Verwandte Begriffe: Class, Typ, Objektfabrik

Definition:

Eine Klasse ist eine Menge von Objekten, in der die Eigenschaften (Attribute), Operationen und die Semantik der Objekte definiert werden. Alle Objekte einer Klasse entsprechen dieser Festlegung.

Beschreibung:

Eine Klasse ist eine Zusammenfassung gleichartiger Objekte. Objekte sind die agierenden Grundelemente einer Anwendung. Die Gleichartigkeit bezieht sich auf Eigenschaften (Attribute) und/oder auf Fähigkeiten (Operationen/Methoden) der Objekte einer Klasse. Eine Klasse enthält gewissermaßen die Konstruktionsbeschreibung für Objekte die mit ihr erzeugt werden. Das Verhalten der Objekte wird durch die Möglichkeit eines Objektes,Nachrichten zu empfangen und zu verstehen beschrieben. Dazu benötigt das Objekt bestimmte Operationen. Die Begriffe Operation und Nachricht sollten nicht synonym verwendet werden. Zusätzlich zu Eigenschaften und Fähigkeiten kann eine Klasse auch Definitionen von Zusicherungen, Merkmalen und Stereotypen enthalten.

Notation:

Klassen werden durch Rechtecke dargestellt, die den Namen der Klasse und/oder die Attribute und Operationen der Klasse enthalten. Klassenname, Attribute und Operationen werden durch eine horizontale Linie getrennt. Der Klassenname steht im Singular und beginnt mit einem Großbuchstaben. Attribute können näher beschrieben werden, z.B. durch ihren Typ, einen Initialwert und Zusicherungen. Sie werden aber mindestens mit ihrem Namen aufgeführt. Operationen können ebenfalls durch Parameter, Initialwerte, Zusicherungen usw. beschrieben werden. Auch Sie werden mindestens mit ihrem Namen aufgeführt.

Notation: Klasse

Metaklasse

In einigen Programmiersprachen, z.B. in Smalltalk können auch an Klassen Nachrichten gesendet werden und sie können Klassenattribute besitzen. In C++ werden solche Klassenattribute und Klassenoperationen als static deklariert. Ein Beispiel für eine Klassenoperation wäre der Klassenoperator new, der ein Objekt einer Klasse erzeugt. Die Klassen für die Klassenobjekte werden Metaklassen genannt. Ihre Notation erfolgt ähnlich wie die einer normalen Klasse, sie werden jedoch um den Stereotyp "metaclass" erweitert.

Notation: Metaklasse

Parametrisierbare Klasse

Bei einer parametrisierbaren Klasse handelt es sich um eine Schablone zu Erzeugung von Klassen. Dabei wird eine Makrotechnik verwendet, die meistens nur mit Textersetzung arbeitet. In statisch typisierten Programmiersprachen, wie C++ oder Eiffel sind parametrisierbare Klassen ein wichtiges Hilfsmittel zur Erzeugung von wiederverwendbaren Code. Ein Anwendungsfall dafür sind Klassen, in denen Klassenobjekte abgelegt werden können (sogenannte Behälterklassen).

Notation:

Parametrisierbare Klassen werden wie Klassen dargestellt, sie erhalten aber zusätzlich in der rechten oberen Ecke in einem gestrichelten Rechteck die notwendigen Parameter. Eine Klasse die durch eine parametrisierbare Klasse erzeugt wird muß mit einer Verfeinerungsbeziehung, die den Stereotyp "bind" erhält gekennzeichnet werden.

Notation: Parametrisierbare Klasse

Schnittstellenklasse

Schnittstellenklassen spezifizieren das externe Verhalten von Klassen und enthalten in abstrakter Form Signaturen und Beschreibungen von Operationen. Sie sind abstrakte Klassen mit dem Stereotyp "interface". Klassen, die alle von einer Schnittstellenklasse geforderten Operationen bereitstellen können sind eine Umsetzung dieser Schnittstelle. Eine Klasse kann mehrere Schnittstellen anbieten.

Abstrakte Klasse

Verwandte Begriffe: Abstract class, virtuelle Klasse

Definition:

Eine abstrakte Klasse bildet die Grundlage für weiter Unterklassen. Sie wurde bewußt unvollständig gehalten. Von ihr können keine konkreten Objekt-Exemplare erzeugt werden.

Beschreibung:

Eine abstrakte Klasse stellt häufig einen Allgemeinbegriff dar, einen Oberbegriff, von denen konkrete Begriffe abgeleitet werden. Als Beispiel kann der Oberbegriff geometrische Figur dienen. Von ihm kann man die konkreten Begriffe Kreis, Rechteck, Dreieck, usw. ableiten. Von jedem dieser konkreten Begriffe können Exemplare erzeugt werden, z.B. ein Kreis1 mit dem Durchmesser von 12 cm. Eine abstrakte Klasse ist also eine Oberklasse für Unterklassen.

Notation:

Eine abstrakte Klasse wird wie eine normale Klasse dargestellt. Unter dem Klassennamen steht das Merkmal abstrakt. Sie kann wie eine normale Klasse Attribute,Operationen und Zusicherungen enthalten.

Notation: Abstrakte Klasse


Zurueck Inhalt Vor