Skip to content

Instantly share code, notes, and snippets.

@marcel-ploch
Created November 21, 2022 11:01
Show Gist options
  • Save marcel-ploch/2e29a15f19f11404684b0982a2e23144 to your computer and use it in GitHub Desktop.
Save marcel-ploch/2e29a15f19f11404684b0982a2e23144 to your computer and use it in GitHub Desktop.
Klassen schreiben. Konstruktoren und Parameter
class MeinObjektPositionsParameter {
String name = "";
// Positions Parameter an Stelle 1
MeinObjektPositionsParameter(this.name);
}
class MeinObjektOptionalParameterDefault {
String name = "";
// Positions Parameter an Stelle 1, aber optional mit default value
MeinObjektOptionalParameterDefault([this.name = 'FOO']) ;
}
class MeinObjektBenamteParameter {
String name = "";
// Benamte Paramter optional; wenn möglich immer nutzten
MeinObjektBenamteParameter({this.name = 'FOO'});
}
class MeinObjektBenamteParameterRequired {
String name = "";
// Benamte Paramter benötigt kein default möglich;
MeinObjektBenamteParameterRequired({required this.name});
}
class MeinObjektNullSaftey {
// Das Fragezeichen gibt an, dass der Typ nullable ist
String? name;
// Darf auch erst später gesetzt werden
late String nameNotNull;
MeinObjektNullSaftey();
initVar() {
nameNotNull = 'Test Late';
}
}
void main() {
print(MeinObjektPositionsParameter("Hello World").name);
print(MeinObjektOptionalParameterDefault("Hello Optional").name);
print(MeinObjektOptionalParameterDefault().name);
print(MeinObjektBenamteParameter(name: "Hello Named").name);
print(MeinObjektBenamteParameter().name);
print(MeinObjektBenamteParameterRequired(name: "Hello Named required").name);
var nullSaftey = MeinObjektNullSaftey();
print(nullSaftey.name);
try {
print(nullSaftey.nameNotNull);
} catch(e) {
print(e);
}
nullSaftey.initVar();
print(nullSaftey.nameNotNull);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment