Flutter get méthode et set méthode en action

Flutter get méthode et set méthode en action


Comment les méthodes get et set sont-elles implémentées dans Flutter?

Les méthodes get et set sont une paire de méthodes spéciales permettant de lire et d'écrire les propriétés des objets. En fait, chaque propriété de l'objet instance a une méthode get implicite, et s'il s'agit d'une propriété non finale, il y aura également une méthode set .

Définir et utiliser les méthodes get et set

Nous pouvons utiliser les mots-clés get et set pour créer des méthodes get et set.

Exemple:

class Rectangle {
  double left, top, width, height;

  Rectangle(this.left, this.top, this.width, this.height);

  // 定义两个计算产生的属性:right 和 bottom。
  double get right => left + width;
  set right(double value) => left = value - width;
  double get bottom => top + height;
  set bottom(double value) => top = value - height;
}

void main() {
  var rect = Rectangle(3, 4, 20, 15);
  assert(rect.left == 3);
  rect.right = 12;
  assert(rect.left == -8);
}

Deux paires de méthodes get et set, à droite et en bas, sont définies ici. Elles peuvent effectuer certaines opérations de calcul avant d'affecter ou d'obtenir des valeurs, ce qui étend le fonctionnement direct des attributs.

Si nous avons besoin de changer la signification ou la méthode de calcul de droite et du bas à l'avenir, il suffit de modifier l'ensemble et d'obtenir les méthodes. Les références externes n'ont pas du tout besoin d'être modifiées, ce qui améliore également l'évolutivité du code.

Obtenez le résultat via la méthode get

Voici un exemple. Completed représente la quantité terminée et le total représente la quantité totale. Nous pouvons créer une méthode get pour renvoyer la "complétude (progression)". La méthode set / get est très pratique à utiliser comme des attributs.:

  String get progress{
    if(completed <= 0){
      return "0%";
    }
    double pro = 100 * completed / total;
    return pro.toStringAsFixed(5).toString() + "%";
  }

Des étudiants prudents ont peut-être publié quelque chose. Ici, {} est utilisé pour envelopper le corps de la fonction. Dans l'exemple précédent, le corps de la fonction est directement après =>. Que se passe-t-il ici?

Ce dernier est en fait une forme abrégée du premier. Grammar => expression est un raccourci pour {expression de retour;}, => est parfois appelée grammaire de la grosse flèche. Pour plus de détails, reportez-vous à «Principes de base du flutter (Dart) - Explication détaillée des fonctions» .


** PS: Cliquez sur moi! Je pointe! Je pointe! …… -> "Flutter Development"
** PS: Cliquez-moi! Je pointe! Je pointe! …… -> "Flutter Development"
** PS: Plus, pour plus de contenu, veuillez consulter -> "Flutter Development"

Je suppose que tu aimes

Origine blog.csdn.net/u011578734/article/details/112251341
conseillé
Classement