Constructeurs nommés pour une intention claire
Proposer plusieurs façons de construire un objet
Constructeurs nommés pour une intention claire est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 2 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.
Pourquoi utiliser des constructeurs nommés
Une même classe a souvent besoin de plusieurs façons d'être construite. Un constructeur nommé donne à chaque possibilité un libellé clair afin que les appelants sachent exactement ce qu'ils obtiennent.
La syntaxe des noms
Écrivez le nom de la classe, un point, puis votre libellé. La forme ClassName.label se lit comme une petite phrase à l'endroit de l'appel.
class Point {
int x, y;
Point.origin() : x = 0, y = 0;
}Appeler un constructeur nommé
Appelez-le comme le constructeur sans nom, mais en ajoutant le libellé. Cela rend l'intention de l'objet évidente dans le code.
var p = Point.origin();
print(p.x); // 0Plusieurs constructeurs nommés
Ajoutez-en autant que vous le souhaitez, chacun décrivant un cas d'utilisation. Ici, l'un construit un panier vide et l'autre un panier preset.
class Cart {
int items;
Cart.empty() : items = 0;
Cart.preset() : items = 3;
}Constructeurs nommés avec paramètres
Ils peuvent également accepter des arguments. Vous combinez ainsi un libellé clair avec des valeurs personnalisées pour obtenir un point d'entrée flexible et lisible, de type fabrique.
class User {
String name;
User.guest(this.name);
}Associer un constructeur nommé et un constructeur sans nom
Une classe peut conserver son constructeur normal sans nom et lui ajouter des constructeurs nommés, couvrant ainsi les cas courants comme les cas spéciaux.
class Color {
int value;
Color(this.value);
Color.black() : value = 0;
}Modéliser différentes sources
Les constructeurs nommés sont particulièrement utiles lorsque les mêmes données proviennent de sources différentes, comme une carte JSON ou des valeurs brutes, chacune avec son propre libellé.
class User {
String name;
User.fromName(this.name);
}Lisibilité à l'endroit de l'appel
Comparez Temperature.celsius(20) à un simple nombre. Le libellé élimine toute ambiguïté ; les constructeurs nommés améliorent donc la clarté pour les lecteurs.
var t = Temperature.celsius(20);Ils construisent toujours le même type
Quel que soit le constructeur appelé, vous obtenez une instance de la même classe. Le libellé ne modifie que la façon dont elle est initialisée, pas son type.
var a = Point.origin();
print(a is Point); // trueAssocier les raccourcis this.
Les constructeurs nommés acceptent le même raccourci this.field, ce qui rend votre initialisation concise, même avec un libellé descriptif.
class Box {
int w, h;
Box.square(this.w) : h = w;
}Choisir des libellés descriptifs
Choisissez des libellés qui décrivent le résultat, comme fromMap ou withDefaults. Un bon libellé transforme l'endroit de l'appel en documentation.
class Config {
Config.withDefaults();
Config.fromMap(Map m);
}Vérification rapide
Vérification rapide sur la syntaxe des constructeurs nommés.
Récapitulatif : une intention claire
Vous avez appris à ajouter des constructeurs nommés avec la syntaxe utilisant un point, à les associer au constructeur sans nom et à transmettre des paramètres pour créer des objets de façon lisible et explicite. 👍
Questions Fréquemment Posées
La leçon « Constructeurs nommés pour une intention claire » est-elle gratuite ?
Oui — le texte complet de « Constructeurs nommés pour une intention claire » 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 « Constructeurs nommés pour une intention claire » ?
Proposer plusieurs façons de construire un objet 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 2 sur 4.
Combien de temps prend la leçon « Constructeurs nommés pour une intention claire » ?
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
- Constructeurs par défaut et paramétrés
- Constructeurs nommés pour une intention claire
- Listes d’initialisation et redirection
- Constructeurs factory et const