- Aufzählungstyp
-
Ein Aufzählungstyp (englisch enumerated type) ist ein Datentyp mit einem endlichen Wertebereich. Alle Werte des Aufzählungstyps werden bei der Deklaration des Typs mit Namen definiert. Dabei wird auch eine Reihenfolge festgelegt, die eine Ordnung der einzelnen Werte bestimmt, die Werte können also sortiert werden.
Aufzählungstypen sind z. B. in den Programmiersprachen Pascal, Modula-2, Modula-3, Ada, Haskell, C, C++ und C# ein übliches Mittel. In Java werden Aufzählungen erst seit der Version 5 unterstützt, dafür sind sie hier als echte Objekte mit objektorientierten Mitteln flexibel erweiterbar.
Man unterscheidet typenlose Aufzählungen wie in C, die lediglich Namen für numerische Werte festlegen, und typsichere Aufzählungen wie in Pascal und Java. Typsichere Aufzählungstypen verhindern, dass zwei Werte aus unterschiedlichen Aufzählungstypen verglichen werden. So wäre beispielsweise die Farbe
BLAUaus dem unten stehenden Beispiel ein anderer Wert als das erste Element eines anderen Aufzählungstypen (z. B.Obst). Einer Variablen vom TypFarbekönnte niemals ein Wert vom TypObstzugewiesen werden. Dies bringt den Vorteil, dass der Compiler automatisch fehlerhafte Zuweisungen verhindern kann.Ein Beispiel für einen Aufzählungstyp in Java, der Farben repräsentiert:
enum Farbe {BLAU, GRUEN, ROT, GELB}Ein Beispiel für einen Aufzählungstyp in Java, der Obst repräsentiert:
enum Obst {APFEL, KIRSCHE, PFLAUME}Dies ermöglicht die folgende Zuweisung, in welcher der Variablen
tapetenfarbevom TypFarbeder WertBLAUzugewiesen wird:Farbe tapetenfarbe = BLAU;
In einer typensicheren Programmiersprache würde Folgendes einen Fehler erzeugen:
Farbe tapetenfarbe = APFEL; //FEHLER!
Weblinks
- Dean Roddey: Stupid Enumeration Tricks
Wikimedia Foundation.