dart
Klassen
Zoeken…
Een klas maken
Klassen kunnen als volgt worden gemaakt:
class InputField {
int maxLength;
String name;
}
De klasse kan worden geïnstantieerd met het new trefwoord, waarna de veldwaarden standaard nul zijn.
var field = new InputField();
Veldwaarden zijn dan toegankelijk:
// this will trigger the setter
field.name = "fieldname";
// this will trigger the getter
print(field.name);
leden
Een klas kan leden hebben.
Instantievariabelen kunnen worden gedeclareerd met / zonder type-annotaties en optioneel worden geïnitialiseerd. Niet-geïnitialiseerde leden hebben de waarde null , tenzij de constructor een andere waarde instelt.
class Foo {
var member1;
int member2;
String member3 = "Hello world!";
}
Klasse variabelen worden gedeclareerd met behulp van het static trefwoord.
class Bar {
static var member4;
static String member5;
static int member6 = 42;
}
Als een methode geen argumenten aanneemt, snel is, een waarde retourneert en geen zichtbare bijwerkingen heeft, kan een getter-methode worden gebruikt:
class Foo {
String get bar {
var result;
// ...
return result;
}
}
Getters nemen nooit argumenten, dus de haakjes voor de (lege) parameterlijst worden weggelaten zowel voor het aangeven van getters, zoals hierboven, als voor het aanroepen van ze als volgt:
main() {
var foo = new Foo();
print(foo.bar); // prints "bar"
}
Er zijn ook setter-methoden, die precies één argument moeten bevatten:
class Foo {
String _bar;
String get bar => _bar;
void set bar(String value) {
_bar = value;
}
}
De syntaxis voor het aanroepen van een setter is hetzelfde als de variabele toewijzing:
main() {
var foo = new Foo();
foo.bar = "this is calling a setter method";
}
constructors
Een klassenbouwer moet dezelfde naam hebben als zijn klasse.
Laten we een constructor maken voor een klasse Persoon:
class Person {
String name;
String gender;
int age;
Person(this.name, this.gender, this.age);
}
Het bovenstaande voorbeeld is een eenvoudigere, betere manier om de constructor te definiëren dan de volgende manier, wat ook mogelijk is:
class Person {
String name;
String gender;
int age;
Person(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
}
Nu kunt u een exemplaar van Persoon als volgt maken:
var alice = new Person('Alice', 'female', 21);