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 einem eindeutigen Namen (Identifikator) definiert, sie sind Symbole. Dabei kann auch eine Reihenfolge festgelegt werden, die eine Ordnung der einzelnen Werte bestimmt und dann sortiert werden können.

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 Erdbeere der Aufzählung 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!

Bei Aufzählungstypen kann mitunter auch der textuelle Name eines Symbols direkt Verwendung finden, gewissermaßen als festgelegte Zeichenkette.

Weblinks[Bearbeiten]