Klasse

Eine Klasse definiert eine Menge von Objekten, die die gleichen Strukturen (Attribute), Verhalten (Operationen/Methoden) und Beziehungen besitzen. Eine Klasse ist damit ein abstraktes Modell bzw. ein "Bauplan" für eine Reihe von ähnlichen Objekten.

KlasseDie Klasse besitzt den selben Aufbau wie das Objekt. Ganz oben ist das Namensfeld, anschließend folgt die Attributliste und am Ende ist die Operationsliste. Der Klassenname, zu finden im Namensfeld, wird zentriert dargestellt und beginnt mit einem Großbuchstaben. Jeweils mit einem Kleinbuchstaben beginnen die Attribute und Methoden/Operationen in den beiden nachfolgenden Feldern.

Zwar weiß jedes Objekt zu welcher Klasse es gehört, anders herum funktioniert dies aber nicht. Eine Klasse kennt nämlich nicht seine Objekte bzw. welches Objekt sie selbst erzeugt hat.

Abstrakte Klasse

Eine abstrakte Klasse ist entweder durch einen kursiv geschriebenen Namen erkennbar, oder durch die zusätzliche Spezifizierung im Namensfeld der Klasse mit dem Ausdruck {abstract}. Eine abstrake Klasse erkennt man auch, sobald eine Klasse mindestens eine abstrakte Operation enthält.

Eine abstrakte Klasse ist eine spezielle Klasse, die nicht instanziiert werden kann, d.h. es können keine Objekte von ihnen erzeugt werden.

Ein Beispiel für eine abstrakte Klasse mit einer abstrakten Funktion wäre ein Computer-Rollenspiel, das verschiedene Spielfiguren besitzt (z.B. Ritter und Zauberer). Beide Spielfiguren können angreifen und damit besitzt die Oberklasse "Spielfigur" die Methode/Funktion angreifen(). Da nun der Ritter (Schwert - Nahkampf) aber auf eine andere Art angreift als der Zauberer (Zauberstab - Magie) ist die Funktion/Methode angreifen() eine abstrakte Methode und damit auch ist auch die Klasse abstrakt.