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);


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow