enum - flutter-tutorial-de/dart-basics-tutorial GitHub Wiki
In manchen Programmiersituationen braucht man einen Datentyp, der nur bestimmte Werte annehmen kann, die vom Programmierer festgelegt werden. Dafür werden in Dart Enums benutzt.
enum name { name1, name2, ... }
enum Titel {
diplIng, doktor, professor, eminenz
}
enum BeschaeftigungsTyp {
angestellter, teamleiter, abteilungsleiter, chef
}
Hinweis:
Jeder enum-Datentyp hat automatisch das Attribut values, das alle definierten Namen enthält.
enum Titel { diplIng, doctor, professor}
class Person{
String name;
Titel titel;
Person(this.name, this.titel);
String titelString() {
switch(titel){
case Titel.doctor: return 'Dr. ';
case Titel.professor: return 'Prof. ';
default: return '';
}
}
String anrede() => 'Hallo Frau/Herr ${titelString()}$name';
}
void main() {
var message = 'Es gibt folgende Titel:';
for (var name in Titel.values){
message += ' ' + name.toString().split('.')[1];
}
print(message);
Person person1 = Person('Huber', Titel.diplIng);
Person person2 = Person('Mayr', Titel.professor);
print(person1.anrede());
print(person2.anrede());
}
-
enum Titel { diplIng, doctor, professor}definiert die Aufzählung. - Mit
switch(titel)findet eine Fallunterscheidung über die Werte vonTitelstatt. -
case Titel.doctor:referenziert den entsprechenden Wert ausTitel. - Mit
for (var name in Titel.values)werden alle Werte von Titel durchlaufen. -
name.toString().split('.')[1]- Der Name aus dem enum wird mittels
toString()in einen String gewandelt, der lautet z. B. 'Titel.professor'. - Dieser String wird in eine Liste zerteilt, mit '.' als Trenner. Aus
Titel.professorwird['Titel', 'professor']. - Von dem Feld wird der
[1]der zweite Eintrag genommen (der Index wird ab 0 gezählt).
- Der Name aus dem enum wird mittels
-
Person person1 = Person('Huber', Titel.diplIng);Hier wird der zweite Parameter mit einem Wert ausTitelbelegt.