Dart Academy · Leçon

Appeler super et chaîner les constructeurs

Accéder au parent pendant la construction

Leçon 2 sur 413 étapes

Appeler super et chaîner les constructeurs 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.

L'ordre de construction

Lorsque vous construisez une sous-classe, son parent doit d'abord être configuré. Dart garantit que le constructeur du parent s'exécute avant le début du corps de l'enfant. 🏗️

Découvrez super

Le mot-clé super désigne la partie parente de votre objet. Vous l'utilisez pour accéder au constructeur, aux méthodes et aux champs du parent depuis l'enfant.

Le super() implicite

Si vous n'écrivez rien, Dart appelle discrètement pour vous le constructeur du parent sans argument. Ce super() invisible explique pourquoi les parents sont toujours initialisés en premier.

class Animal { Animal() => print('Animal'); }
class Dog extends Animal { Dog(); }

Appeler super explicitement

Lorsque le parent a besoin d'arguments, vous appelez super(...) dans la liste d'initialisation du constructeur, après deux-points. Les valeurs sont ainsi transmises le long de la chaîne.

class Dog extends Animal {
  Dog(String name) : super(name);
}

Où placer super

L'appel à super se trouve dans la liste d'initialisation, jamais dans le corps du constructeur. Lorsque le corps s'exécute, le parent est déjà entièrement construit.

Dog(String name, this.breed) : super(name);

Les paramètres super

Les versions modernes de Dart vous permettent de transmettre directement les arguments au parent avec super.field. Cela évite le code répétitif dans la liste des paramètres.

class Dog extends Animal {
  Dog(super.name);
}

Appeler les méthodes super

Dans une méthode remplacée, super.method() exécute la version originale du parent. Vous étendez le comportement au lieu de le remplacer entièrement.

@override
void speak() {
  super.speak();
  print('extra');
}

Remonter la chaîne

Avec plusieurs niveaux d'héritage, chaque constructeur appelle son propre parent. Cette chaîne remonte jusqu'au sommet, puis les corps s'exécutent en redescendant jusqu'à votre classe.

L'ordre d'initialisation

L'ordre complet est le suivant : d'abord la liste d'initialisation et super, puis le corps du parent, et enfin le corps de votre enfant. Les champs sont prêts à recevoir final avant l'exécution de tout corps.

Quand le parent a besoin d'arguments

Si le parent n'a pas de constructeur par défaut, vous devez appeler super avec les bons arguments. Si vous l'omettez, Dart signale une erreur de compilation.

Rediriger avec this

Dans une même classe, un constructeur peut en appeler un autre avec this(...). Il s'agit d'une chaîne entre constructeurs frères, différente de l'accès au parent avec super.

Point.origin() : this(0, 0);

Vérification rapide

Réfléchissez à l'endroit où l'appel au constructeur parent doit apparaître.

Récapitulatif

Vous avez appelé super pour exécuter les constructeurs et les méthodes du parent, transmis des valeurs avec les paramètres super et redirigé les constructeurs frères avec this. 🔗

Gratuit pour commencer

Apprends Dart avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Appeler super et chaîner les constructeurs » est-elle gratuite ?

Oui — le texte complet de « Appeler super et chaîner les constructeurs » 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 « Appeler super et chaîner les constructeurs » ?

Accéder au parent pendant la construction 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 « Appeler super et chaîner les constructeurs » ?

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. extends et redéfinition de méthodes
  2. Appeler super et chaîner les constructeurs
  3. Mixins avec le mot-clé with
  4. Contraintes on et ordre des mixins
← Retour à Dart Academy