Numérique et sciences informatiques (NSI) · Terminale

La programmation orientée objet

La programmation orientée objet (POO) regroupe dans une même entité des données et les opérations qui les manipulent. On décrit un modèle, la classe, puis on fabrique autant d’objets que nécessaire. C’est la manière naturelle d’implémenter en Python les structures de données de l’année : piles, files, arbres…

Une question sur ce cours ?

ULU, le tuteur d’ULUMINE, t’aide à partir de ce cours.

Séance guidée avec ULU (≈ 10 min)Diagnostic, explication, exercices adaptés et bilan.

Objectifs

  • Utiliser le vocabulaire de la POO : classe, objet, attribut, méthode
  • Écrire une classe en Python avec un constructeur __init__
  • Créer des objets et appeler leurs méthodes
  • Comprendre qu’une variable contient une référence vers un objet

1. Classe, objet, attribut, méthode

Classe : Modèle qui décrit une famille d’objets : les données qu’ils possèdent (attributs) et les actions qu’ils savent faire (méthodes).

Objet (ou instance) : Exemplaire concret construit à partir d’une classe. Chaque objet possède ses propres valeurs d’attributs.

2. Écrire une classe en Python

  • Le mot-clé class introduit la classe ; par convention son nom commence par une majuscule.
  • Le premier paramètre de chaque méthode, self, désigne l’objet sur lequel la méthode est appelée.
  • self.solde est l’attribut solde de cet objet ; solde seul serait une simple variable locale.

3. Objets et références

Une variable ne contient pas l’objet lui-même mais une référence vers lui. Après b = a, les deux variables désignent le même objet : une modification faite via b est visible via a.

4. Interface et encapsulation

L’interface d’une classe est l’ensemble des méthodes proposées à l’utilisateur. L’implémentation (attributs, détail du code) peut changer sans que les programmes utilisateurs soient modifiés, tant que l’interface est respectée : c’est le principe d’encapsulation.

À retenir

  • Une classe est un modèle ; un objet est une instance de cette classe.
  • Les attributs stockent l’état de l’objet ; les méthodes définissent son comportement.
  • __init__ est le constructeur ; self désigne l’objet courant.
  • Une variable contient une référence : b = a ne copie pas l’objet.
  • L’interface (méthodes publiques) est séparée de l’implémentation.

Et maintenant, à toi !

Vérifie que tu as compris avec les exercices, puis révise avec la fiche.

À découvrir aussi