💻nsi

POO Python NSI : la checklist pour réussir la programmation orientée objet

27 juillet 2026 7 min de lecture

La programmation orientée objet (POO) est un paradigme central en NSI, surtout en Terminale. Tu dois comprendre comment créer des classes, instancier des objets, utiliser l'héritage et l'encapsulation. Pas de panique ! Cette checklist te guide pas à pas pour maîtriser la POO en Python. À la fin, tu sauras tout pour briller au bac.

1. Qu'est-ce que la POO ?

La POO est une façon d'organiser ton code en regroupant des données (attributs) et des fonctions (méthodes) dans des classes. Une classe est un modèle ; un objet est une instance de cette classe. Par exemple, une classe Etudiant peut avoir des attributs comme nom, note et des méthodes comme afficher_note().

2. Les piliers de la POO

2.1. Classe et constructeur

En Python, on définit une classe avec le mot-clé class. Le constructeur est la méthode __init__ qui initialise les attributs.

class Etudiant:
    def __init__(self, nom, note):
        self.nom = nom
        self.note = note

    def afficher_note(self):
        print(f"{self.nom} a {self.note}/20")

2.2. Instanciation

Créer un objet se fait comme ceci :

eleve = Etudiant("Alice", 15)
eleve.afficher_note()  # Alice a 15/20

2.3. Encapsulation

L'encapsulation protège les attributs. En Python, on utilise un underscore (_) pour indiquer un attribut protégé, et deux underscores (__) pour un attribut privé. On accède via des getters et setters.

class CompteBancaire:
    def __init__(self, solde):
        self.__solde = solde

    def get_solde(self):
        return self.__solde

    def deposer(self, montant):
        self.__solde += montant

2.4. Héritage

L'héritage permet de créer une classe fille à partir d'une classe mère. La fille hérite des attributs et méthodes.

class Lyceen(Etudiant):
    def __init__(self, nom, note, classe):
        super().__init__(nom, note)
        self.classe = classe

    def afficher_classe(self):
        print(f"{self.nom} est en {self.classe}")

3. Checklist POO pour le bac

Utilise cette checklist pour vérifier que tu maîtrises chaque concept :

  • ✅ Définir une classe : syntaxe class Nom:
  • ✅ Constructeur : méthode __init__
  • ✅ Attributs d'instance : self.attribut
  • ✅ Méthodes : fonctions à l'intérieur de la classe
  • ✅ Instanciation : objet = Classe(args)
  • ✅ Encapsulation : attributs privés avec __
  • ✅ Héritage : class Fille(Mere):
  • ✅ Redéfinition : surcharge de méthode
  • ✅ Polymorphisme : même méthode, comportement différent

4. Exemple complet : système de gestion d'école

Voici un exemple qui combine tout :

class Personne:
    def __init__(self, nom, age):
        self.nom = nom
        self.age = age

    def se_presenter(self):
        print(f"Je m'appelle {self.nom}, j'ai {self.age} ans.")

class Professeur(Personne):
    def __init__(self, nom, age, matiere):
        super().__init__(nom, age)
        self.matiere = matiere

    def enseigner(self):
        print(f"{self.nom} enseigne {self.matiere}.")

class Etudiant(Personne):
    def __init__(self, nom, age, note):
        super().__init__(nom, age)
        self.__note = note

    def get_note(self):
        return self.__note

    def set_note(self, note):
        if 0 <= note <= 20:
            self.__note = note
        else:
            print("Note invalide")

# Utilisation
p = Professeur("M. Dupont", 45, "NSI")
e = Etudiant("Bob", 17, 14)
p.se_presenter()
p.enseigner()
e.se_presenter()
print(f"Note de Bob : {e.get_note()}")

5. Pièges à éviter

  • Oublier self dans les méthodes : c'est l'erreur la plus fréquente.
  • Confondre attributs de classe et d'instance : un attribut défini hors de __init__ est partagé par tous les objets.
  • Mauvaise utilisation de super() : toujours l'appeler dans le constructeur de la classe fille.
  • Négliger l'encapsulation : ne pas exposer directement les attributs privés.

6. Lien avec l'épreuve du bac NSI

Au bac, la POO est souvent évaluée dans l'épreuve écrite et pratique. Tu peux tomber sur des questions de complétion de classe, d'analyse d'héritage ou d'écriture de méthodes. Pour t'entraîner, consulte nos exercices NSI et les cours dédiés. Si tu bloques sur des erreurs, la page erreurs Python t'aidera. Pour des révisions supplémentaires, jette un œil à AlloBac ou AlloLycée.

7. Conclusion

La POO est un outil puissant. Avec cette checklist et un peu de pratique, tu deviendras un as des classes et objets. N'oublie pas : chaque concept s'apprend par l'exemple. Alors ouvre ton IDE et code ! Bonne chance pour le bac, tu es prêt !

📚 Pour aller plus loin

Questions fréquentes

Qu'est-ce qu'une classe en POO Python ?

Une classe est un modèle pour créer des objets. Elle définit des attributs (données) et des méthodes (fonctions) que les objets posséderont. Par exemple, une classe 'Voiture' peut avoir des attributs comme 'couleur' et 'vitesse', et des méthodes comme 'accelerer()'.

Comment créer un objet à partir d'une classe en Python ?

On crée un objet en appelant la classe comme une fonction : 'mon_objet = MaClasse(arguments)'. Cela exécute la méthode '__init__' qui initialise l'objet.

Qu'est-ce que l'encapsulation en POO ?

L'encapsulation consiste à protéger les attributs d'un objet en les rendant privés (avec '__' en Python) et en fournissant des méthodes publiques pour y accéder ou les modifier (getters et setters). Cela empêche une modification non contrôlée.

Comment fonctionne l'héritage en Python ?

L'héritage permet à une classe fille de réutiliser les attributs et méthodes d'une classe mère. On déclare 'class Fille(Mere):'. La classe fille peut ajouter ou redéfinir des méthodes. On utilise 'super()' pour appeler le constructeur de la classe mère.

Quelle est la différence entre attribut de classe et attribut d'instance ?

Un attribut de classe est partagé par toutes les instances et défini directement dans la classe. Un attribut d'instance est propre à chaque objet et défini dans '__init__' avec 'self'. Les modifier peut avoir des effets différents.

Comment réviser la POO pour le bac NSI ?

Pratique régulièrement en écrivant des classes simples, puis ajoute héritage et encapsulation. Utilise les exercices sur nsi-lycee.fr et regarde des sujets de bac corrigés. Fais aussi des quiz sur AlloBac ou AlloLycée.

Bravo ! Tu as lu cet article
Inscris-toi pour sauvegarder ta progression et gagner des XP
Creer mon compte
POO Python NSIclasses objets Python terminaleprogrammation orientée objetNSI terminalePython POOchecklist POO
Pixel