www.wikidata.de-de.nina.az
Dieser Artikel oder nachfolgende Abschnitt ist nicht hinreichend mit Belegen beispielsweise Einzelnachweisen ausgestattet Angaben ohne ausreichenden Beleg konnten demnachst entfernt werden Bitte hilf Wikipedia indem du die Angaben recherchierst und gute Belege einfugst Ein Aufzahlungstyp englisch enumerated type ist ein Datentyp fur Variablen mit einer endlichen Wertemenge Alle zulassigen Werte des Aufzahlungstyps 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 nach der dann sortiert werden kann Bei Aufzahlungstypen kann mitunter auch der textuelle Name eines Symbols direkt Verwendung finden gewissermassen als festgelegte Zeichenkette Inhaltsverzeichnis 1 Unterstutzende Sprachen 2 Typsicherheit 3 Beispiele 4 WeblinksUnterstutzende Sprachen BearbeitenAufzahlungstypen sind zum Beispiel in den Programmiersprachen Pascal Modula 2 Modula 3 Ada Haskell C C C und VB Net ublich In Java werden Aufzahlungen erst ab der Version 5 unterstutzt dafur sind sie hier als echte Objekte mit objektorientierten Mitteln erweiterbar Typsicherheit BearbeitenMan unterscheidet typenlose Aufzahlungen wie in C die lediglich Namen fur numerische Werte festlegen im Allgemeinen Ganzzahlen und typsichere Aufzahlungen wie in Pascal und Java Typsichere Aufzahlungstypen verhindern dass Werte aus unterschiedlichen Aufzahlungstypen verglichen oder zugewiesen werden konnen So ware beispielsweise die Farbe BLAU aus dem unten stehenden Beispiel ein anderer Wert als das erste Element eines anderen Aufzahlungstypen zum Beispiel APFEL der Aufzahlung 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 zulasst Beispiele BearbeitenDer einfachste und haufigste Aufzahlungstyp mit exakt zwei gultigen Werten ist der logische Datentyp Boolean Aufzahlungstyp boolean ist false true Ein Beispiel fur einen Aufzahlungstyp der Farben reprasentiert Aufzahlungstyp Farbe ist BLAU GRUEN ROT GELB Ein Beispiel fur einen Aufzahlungstyp der Obst reprasentiert Aufzahlungstyp Obst ist APFEL KIRSCHE PFLAUME Dies ermoglicht 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 wurde Folgendes einen Fehler erzeugen setze tapetenfarbe auf VIOLETT Fehler kein vereinbartes Symbol in Typ Farbe setze tapetenfarbe auf APFEL Fehler APFEL ist nicht zuweisungskompatibel zum Datentyp Farbe Bei typenlosen Aufzahlungen wie in der Sprache C ist moglich setze tapetenfarbe auf APFEL kein Fehler Weil APFEL ebenso fur eine Ganzzahl steht wie z B GELB In einigen Sprachen lasst sich den Werten eine ganze Zahl zuweisen statt die Zuteilung dem Compiler zu uberlassen um einfacher zwischen Werten und ganzen Zahlen zu konvertieren oder eine Bitmenge zu ermoglichen siehe unten Wird die Zahl bei einem spateren Element nicht vorgegeben zahlt der Compiler von der letzten ihm bekannten Zahl weiter Aufzahlungstyp Farbe ist BLAU 1 GRUEN ROT 4 GELB 8 GRUEN erhalt implizit den Wert 2 Zudem kann teils fur einen Aufzahlungstyp ein zugehoriger Mengentyp englisch set deklariert werden Fur diesen stehen dann Vergleiche und Mengenoperatoren zur Verfugung definiere Typ Farben als Mengentyp uber Farbe Menge uber dem Aufzahlungstyp Farbe Variable warmeFarben ist vom Datentyp Farben nehme in warmeFarben auf ROT GELB falls ROT in warmeFarben dann gib aus Rot ist eine warme Farbe Falls in Sprachen mit typenlosen Aufzahlungen solche Mengentypen nicht als eigenes Sprachelement unterstutzt werden ist die Nutzung von Bitmustern ublich Dazu werden den Werten Zweierpotenzen als Zahlenwert zugewiesen und Mengenoperatoren mittels bitweiser Operatoren umgesetzt Variable warmeFarben ist vom Datentyp integer setze warmeFarben auf ROT ODER GELB warmeFarben ist jetzt 12 denn 4 ODER 8 12 falls warmeFarben UND ROT 0 dann 12 UND 8 ist 8 und somit nicht 0 in einigen Sprachen ist zur Vereinfachung solcher Ausdrucke die Zahl 0 implizit falsch und jede andere ganze Zahl implizit wahr gib ROT ist eine warme Farbe aus Weblinks BearbeitenDean Roddey Stupid Enumeration Tricks Abgerufen von https de wikipedia org w index php title Aufzahlungstyp amp oldid 225131546