Aufzählungstyp

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Ein Aufzählungstyp (englisch enumerated type) ist ein Datentyp für Variablen mit einer endlichen Wertemenge. Alle zulässigen Werte des Aufzählungstyps werden bei der Deklaration des Datentyps mit konstanten 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 zum Beispiel in den Programmiersprachen Pascal, Modula-2, Modula-3, Ada, Haskell, C, C++ und C# üblich. In Java werden Aufzählungen erst seit der Version 5 unterstützt, dafür sind sie hier als echte Objekte mit objektorientierten Mitteln 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 Werte aus unterschiedlichen Aufzählungstypen verglichen oder zugewiesen werden können. So wäre beispielsweise die Farbe BLAU aus dem unten stehenden Beispiel ein anderer Wert als das erste Element eines anderen Aufzählungstypen (zum Beispiel Obst). Eine Variable vom Typ Farbe ist nicht zuweisungskompatibel mit einem Wert vom Typ Obst. Dies bringt den Vorteil, dass der Compiler keine fehlerhaften Zuweisungen zulässt.

Der einfachste und häufigste Aufzählungstyp mit exakt zwei gültigen Werten ist der logische Datentyp Boolean:

Aufzählungstyp boolean ist {false, true};

Ein Beispiel für einen Aufzählungstyp, der Farben repräsentiert:

Aufzählungstyp Farbe ist {BLAU, GRUEN, ROT, GELB};

Ein Beispiel für einen Aufzählungstyp, der Obst repräsentiert:

Aufzählungstyp Obst ist {APFEL, KIRSCHE, PFLAUME};

Dies ermöglicht die folgende Zuweisung, in welcher der Variablen tapetenfarbe vom Typ Farbe der Wert BLAU zugewiesen wird:

Variable tapetenfarbe ist vom Datentyp Farbe;
setze tapetenfarbe auf BLAU;

In einer typensicheren Programmiersprache würde Folgendes einen Fehler erzeugen:

setze tapetenfarbe auf APFEL; //Fehler: APFEL ist nicht zuweisungskompatibel zum Datentyp Farbe!

Weblinks[Bearbeiten]