Organiser un projet en package, coder ses classes et réunir encapsulation, héritage, polymorphisme, abstraction et interfaces dans une même application.
1Situer
Le directeur d'un centre de formation à Kénitra demande une petite application : gérer les stagiaires et les formateurs, les regrouper par groupe, calculer la moyenne d'un groupe et afficher la fiche de chaque personne. C'est le moment d'assembler tout ce que vous avez appris : chaque concept de la POO trouve sa place dans ce mini-projet.
2Comprendre
Organiser un projet en package
Tout le projet tient dans un seul fichier de 800 lignes : difficile à lire et à partager.
1 / 5
Coder une solution orientée objet, c’est d’abord concevoir, puis organiser, puis coder et tester.
1. Concevoir les classes
À partir de l’énoncé, on souligne les noms (stagiaire, formateur, groupe, note) : ce sont des candidats classes ou attributs. Les verbes (inscrire, calculer, afficher) deviennent des méthodes. On note les liens :
« est un » → héritage (un stagiaire est une personne) ;
« a un / contient » → composition (un groupe contient des stagiaires).
2. Organiser en package
Un package est un dossier qui regroupe des modules (fichiers .py), avec un fichier __init__.py :
Dans main.py : from centre.personnes import Stagiaire.
3. Intégrer les concepts
Concept
Où dans le projet
encapsulation
notes privées, ajout contrôlé par ajouter_note()
héritage
Stagiaire et Formateur héritent de Personne
polymorphisme
print(p) appelle la bonne fiche()
abstraction
Personne est abstraite, fiche() est obligatoire
interface
on pourrait ajouter Imprimable pour les fiches PDF
4. Tester au fur et à mesure
Après chaque classe, créez deux ou trois objets et affichez-les. Un bug trouvé tout de suite se corrige en une minute.
Exemple simple
Ranger sa chambre
Les vêtements dans l'armoire, les livres sur l'étagère, les chaussures dans le placard. Un package, c'est pareil : un dossier pour le projet, un fichier par sujet. On retrouve tout plus vite.
Avant de coder, on dessine les classes et leurs liens sur papier : qui hérite de qui, qui contient quoi. Cinq minutes de schéma économisent une heure de corrections.
Personne (abstraite)
├── Stagiaire a des notes
└── Formateur a une spécialité
Groupe contient des Stagiaire
Publicité
3Manipuler
Exécutez le mini-projet. Observez la mémoire : le groupe contient des stagiaires, qui héritent de Personne. Ajoutez un stagiaire avec ses notes et relancez.