dart
Des classes
Recherche…
Créer une classe
Les classes peuvent être créées comme suit:
class InputField {
int maxLength;
String name;
}
La classe peut être instanciée à l'aide du new mot clé, après quoi les valeurs du champ seront nulles par défaut.
var field = new InputField();
Les valeurs de champ sont alors accessibles:
// this will trigger the setter
field.name = "fieldname";
// this will trigger the getter
print(field.name);
Membres
Une classe peut avoir des membres.
Les variables d'instance peuvent être déclarées avec / sans annotation de type et éventuellement initialisées. Les membres non initialisés ont la valeur null , à moins d'être définis sur une autre valeur par le constructeur.
class Foo {
var member1;
int member2;
String member3 = "Hello world!";
}
Les variables de classe sont déclarées à l'aide du mot-clé static .
class Bar {
static var member4;
static String member5;
static int member6 = 42;
}
Si une méthode ne prend aucun argument, est rapide, renvoie une valeur et n'a pas d'effets secondaires visibles, une méthode de lecture peut être utilisée:
class Foo {
String get bar {
var result;
// ...
return result;
}
}
Les getters ne prennent jamais d'arguments, donc les parenthèses pour la liste de paramètres (vide) sont omises à la fois pour déclarer les getters, comme ci-dessus, et pour les appeler, comme ceci:
main() {
var foo = new Foo();
print(foo.bar); // prints "bar"
}
Il existe également des méthodes de réglage, qui doivent prendre exactement un argument:
class Foo {
String _bar;
String get bar => _bar;
void set bar(String value) {
_bar = value;
}
}
La syntaxe pour appeler un setter est identique à celle de la variable:
main() {
var foo = new Foo();
foo.bar = "this is calling a setter method";
}
Constructeurs
Un constructeur de classe doit avoir le même nom que sa classe.
Créons un constructeur pour une classe Person:
class Person {
String name;
String gender;
int age;
Person(this.name, this.gender, this.age);
}
L’exemple ci-dessus est une manière plus simple et plus efficace de définir le constructeur de la manière suivante, qui est également possible:
class Person {
String name;
String gender;
int age;
Person(String name, String gender, int age) {
this.name = name;
this.gender = gender;
this.age = age;
}
}
Maintenant, vous pouvez créer une instance de Person comme ceci:
var alice = new Person('Alice', 'female', 21);