0Pricing
Dart Academy · Leçon

Membres d’extension statiques et conflits

Résoudre les conflits et ajouter des utilitaires statiques

Membres d’extension statiques et conflits est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Dart Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Dart Academy comprend 4 leçons au total.

Deux fonctions auxiliaires, le même nom

Si vous importez deux extensions qui ajoutent toutes deux à String une méthode appelée parse, Dart ne sait plus laquelle vous vouliez utiliser.

Pourquoi les conflits surviennent

Les membres d’extension n’appartiennent pas directement au type. Deux méthodes portant le même nom créent donc une ambiguïté que le compilateur refuse de trancher.

Repérez l’erreur

Dans ce cas, Dart signale une extension ambiguë et s’arrête au lieu d’en choisir silencieusement une à votre place.

"7".parse(); // error: ambiguous between two extensions

Masquez-en une lors de l’importation

Utilisez hide lors de l’importation pour supprimer, par son nom, une extension en conflit et laisser l’autre être choisie lors de l’appel.

import 'b.dart' hide NumberParsing;

Ou n’en affichez qu’une

L’approche inverse est show : elle importe uniquement les noms que vous indiquez et exclut discrètement tous les autres.

import 'a.dart' show NumberParsing;

Appelez-la explicitement

Vous pouvez aussi être précis en l’appliquant de manière explicite : nommez l’extension et transmettez la valeur entre parenthèses.

NumberParsing("7").parse();

Ajoutez des membres statiques

Les extensions peuvent également contenir des membres statiques. Ceux-ci appartiennent au nom de l’extension, pas aux valeurs sur lesquelles vous appelez les méthodes.

extension MathX on num {
  static num clampLow(num x) => x < 0 ? 0 : x;
}

Accédez aux membres statiques par leur nom

Appelez un membre statique à travers le nom de l’extension, comme un membre statique de classe. La valeur réceptrice n’intervient pas.

print(MathX.clampLow(-3)); // 0

Les membres statiques nécessitent un nom

Comme vous accédez aux membres statiques par l’extension, une extension sans nom ne peut pas les exposer. Nommez-la pour utiliser des membres statiques.

Membres d’instance et membres statiques

Les membres d’instance utilisent this et s’appliquent à une valeur ; les membres statiques ignorent la valeur et appartiennent à l’extension elle-même.

Prévoyez les conflits

Donnez aux extensions et à leurs membres des noms clairs et précis. Une bonne convention de nommage évite la plupart des conflits avant même qu’il soit nécessaire d’utiliser show ou hide.

Vérification rapide

Un conflit, une solution simple. Laquelle fonctionne ?

Récapitulatif : membres statiques et conflits

Vous pouvez résoudre les conflits entre extensions avec show, hide ou des appels explicites, et ajouter des membres statiques accessibles via le nom de l’extension. 🧩

Questions Fréquemment Posées

La leçon « Membres d’extension statiques et conflits » est-elle gratuite ?

Oui — le texte complet de « Membres d’extension statiques et conflits » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Dart Academy, passe à CoddyKit PRO. Le cours Dart Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Membres d’extension statiques et conflits » ?

Résoudre les conflits et ajouter des utilitaires statiques Tu pratiques Dart Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Dart Academy ?

Aucune expérience préalable n'est requise. Dart Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Membres d’extension statiques et conflits » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Dart Academy ?

Oui. Chaque leçon Dart Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Écrire votre première extension
  2. Extensions sur les génériques
  3. Membres d’extension statiques et conflits
  4. Types d’extension pour des wrappers sans coût
← Retour à Dart Academy