Chapitre 10 — Encapsulation, héritage, polymorphisme
Partie 1A — Apprendre Dart · Chapitre 10 sur 62 · 7 h
Chapitre 10 — Encapsulation, héritage, polymorphisme
Niveau : intermédiaire Durée estimée : 7 h Pré-requis : chapitre 09 — Constructeurs et modélisation Ce que vous saurez faire à la fin : protéger les données d'une classe avec des membres privés, des getters et des setters validés, construire une hiérarchie de classes avec
extendsetsuper, redéfinir des méthodes avec@override, et écrire du code polymorphe qui traitePlayer,EnemyetBossde la même façon.
10.0 — Objectifs du chapitre
À la fin de ce chapitre, vous serez capable de :
- citer les trois piliers de la POO abordés ici ;
- expliquer ce qu'est l'encapsulation avec vos propres mots ;
- montrer concrètement le danger d'une propriété publique modifiable n'importe comment ;
- déclarer un membre privé avec le préfixe
_; - expliquer que la portée du
_est la bibliothèque (le fichier), pas la classe ; - écrire un getter qui expose une valeur en lecture seule ;
- écrire un setter qui valide la valeur avant de l'accepter ;
- écrire des méthodes privées d'aide interne ;
- construire une classe
Playerentièrement encapsulée, avec des vies toujours bornées entre 0 et un maximum ; - expliquer ce qu'est l'héritage et à quoi il sert ;
- utiliser
extendspour créer une sous-classe ; - dire précisément ce qui est hérité et ce qui ne l'est pas ;
- appeler le constructeur parent avec
super; - appeler une méthode parente avec
super.methode(); - redéfinir (override) une méthode héritée ;
- utiliser correctement l'annotation
@override; - expliquer le polymorphisme sur un exemple ;
- parcourir une
List<Character>contenant desPlayeret desEnemy; - utiliser
isetaspour tester et convertir un type ; - construire la hiérarchie
Character → Player / Enemy / Boss; - reconnaître les situations où l'héritage est un mauvais choix.
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion