1 Introduction
1.1 Objectifs
Dans cette mission, vous allez approfondir votre compréhension des concepts fondamentaux de la programmation orientée objet en Python. L’objectif est de consolider les compétences acquises dans les missions précédentes tout en explorant de nouvelles notions clés :
- Conception de classes et d’objets : apprendre à définir des classes, créer des instances et gérer leurs attributs et méthodes.
- Héritage : comprendre comment factoriser le code commun dans une classe mère et, si nécessaire, étendre ou spécialiser le comportement dans les sous-classes.
- Redéfinition de méthodes : maîtriser la surcharge et la personnalisation des méthodes pour adapter leur comportement selon le type d’objet.
- Polymorphisme : découvrir comment invoquer des méthodes de manière uniforme tout en laissant chaque sous-classe gérer ses spécificités.
- Liaison dynamique : comprendre le mécanisme qui permet à Python de déterminer, au moment de l’exécution, quelle méthode appeler.
- Utilisation de ``self`` et ``super()`` : savoir combiner le comportement générique de la classe mère avec les fonctionnalités propres aux sous-classes.
1.2 Préparation, étude et apprentissage
Si vous n'avez pas encore eu le temps de relire en détail les différents chapitres de la partie Objects du syllabus en ligne, maintenant est venu le moment de rattraper votre retard. Le syllabus explique bien différents concepts, sur un autre exemple que les exemples utilisés dans le cours magistral :
On vous conseille également de tester et de jouer avec les différents exemples de code qui se trouvent dans les annexes suivantes, venant soit du syllabus en ligne soit correspondant aux exemples du cours magistral :