0Pricing
Dart Academy · Leçon

Classes et méthodes abstraites

Définir ce que les sous-classes doivent implémenter

Classes et méthodes abstraites est une leçon Dart Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.

Ce que signifie abstract

Une classe abstraite est un modèle que vous pouvez décrire, mais jamais créer directement. Elle existe pour être étendue, et non pour être instanciée seule.

Déclarer une classe abstraite

Ajoutez le mot-clé abstract avant class. Cela indique à Dart que la classe est incomplète et destinée à servir de base commune.

abstract class Shape {
  double area();
}

Les méthodes abstraites n'ont pas de corps

Une méthode abstraite déclare un nom et une signature, puis se termine par un point-virgule, laissant le travail réel à chaque sous-classe.

abstract class Shape {
  double area(); // no body
}

Impossible de l'instancier

Essayer d'écrire Shape() provoque une erreur de compilation. Dart refuse, car une classe abstraite est inachevée et ne possède pas d'implémentation réelle.

var s = Shape(); // error: abstract

Les sous-classes remplissent les blancs

Une sous-classe utilise extends et doit fournir un corps pour chaque méthode abstraite, transformant ainsi le modèle en élément utilisable.

class Circle extends Shape {
  final double r;
  Circle(this.r);
  double area() => 3.14 * r * r;
}

Les méthodes concrètes sont également autorisées

Une classe abstraite peut aussi contenir des méthodes concrètes entièrement écrites. Les sous-classes les héritent directement et ne complètent que les méthodes abstraites.

abstract class Shape {
  double area();
  void describe() => print('Area is ' + area().toString());
}

Les champs dans les classes abstraites

Les classes abstraites peuvent également contenir des champs et des constructeurs. Ceux-ci s'exécutent lorsqu'une sous-classe est créée, de sorte que l'état partagé reste dans la base.

abstract class Shape {
  final String name;
  Shape(this.name);
}

Le compilateur impose le contrat

Si une sous-classe oublie une méthode abstraite, Dart signale une erreur avant même l'exécution du code. Le contrat est vérifié pour vous.

class Square extends Shape {} // error: area() missing

Pourquoi utiliser des classes abstraites

Elles permettent à de nombreux types de partager une même structure, tout en garantissant que chacun fournit son propre comportement. Vous concevez clairement un contrat une fois, puis le réutilisez partout.

Accesseurs abstraits

Les méthodes ne sont pas les seules choses que vous pouvez laisser abstraites. Un getter sans corps fonctionne de la même manière et doit être défini par les sous-classes.

abstract class Shape {
  String get label;
}

Conserver des références abstraites

Vous pouvez stocker n'importe quelle sous-classe dans une variable typée comme la classe abstraite. Le type garantit le comportement sans nommer de classe concrète.

Shape s = Circle(2);
print(s.area());

Vérification rapide

Une petite question sur les classes abstraites.

Récapitulatif

Les classes abstraites sont des modèles que vous étendez, et non que vous instanciez. Les méthodes abstraites n'ont pas de corps, et les sous-classes concrètes doivent les implémenter. Beau travail ! 🎯

Questions Fréquemment Posées

La leçon « Classes et méthodes abstraites » est-elle gratuite ?

Oui — le texte complet de « Classes et méthodes abstraites » 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 « Classes et méthodes abstraites » ?

Définir ce que les sous-classes doivent implémenter 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 1 sur 4.

Combien de temps prend la leçon « Classes et méthodes abstraites » ?

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. Classes et méthodes abstraites
  2. Interfaces implicites et implements
  3. Polymorphisme grâce aux types partagés
  4. La composition plutôt que l’héritage
← Retour à Dart Academy