- 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
BLAU
aus dem unten stehenden Beispiel ein anderer Wert als das erste Element eines anderen Aufzählungstypen (z. B.Obst
). Einer Variablen vom TypFarbe
könnte niemals ein Wert vom TypObst
zugewiesen 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
tapetenfarbe
vom TypFarbe
der WertBLAU
zugewiesen 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.