Programmation orientée objet : fiche de révision de Terminale NSI
Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur
L'essentiel
La programmation orientée objet (POO) est un paradigme où un programme est construit à partir d'objets qui interagissent entre eux 3.
Un objet est créé à partir d'un modèle appelé classe4 ; il possède une structure interne (ses attributs) et un comportement (ses méthodes) 3.
En Python, on définit une classe avec class, on initialise les attributs dans __init__ et on crée un objet en appelant la classe.
Le programme de Terminale place la POO dans les rubriques « Structures de données » et « Langages et programmation » 1.
Piège classique : oublier self, ou confondre la classe (le modèle) avec l'objet (l'exemplaire créé).
L'idée de la programmation orientée objet
Au lieu de séparer d'un côté les données et de l'autre les fonctions qui les manipulent, on les regroupe dans un même objet. L'objet possède une structure interne et un comportement, et il interagit avec les autres objets 3. Le travail de modélisation devient alors central : avant d'écrire du code, tu te demandes quels objets existent dans le problème et comment ils sont reliés 3.
Classe, objet, attribut, méthode
La syntaxe en Python
Les grands principes de la POO
Repères historiques
Les deux chercheurs norvégiens Ole-Johan Dahl et Kristen Nygaard ont lancé cette approche vers le milieu des années 1960 avec le langage Simula 67, qui offrait déjà classes, objets, héritage et polymorphisme 3. Alan Kay a ensuite repris ces principes dans Smalltalk et a donné son nom au paradigme 3. Elle s'est largement répandue à partir de 1983 avec l'arrivée de C++ 4, puis Java, créé par Sun Microsystems en 1995, a poursuivi cette diffusion 4.
Questions flash
5 questions · correction immédiate · ton score reste sur ton appareil.
Un objet est créé à partir d'un modèle appelé classe, dont il reprend les caractéristiques et les comportements 4. Un attribut est au contraire une donnée à l'intérieur d'un objet : il ne sert pas à le fabriquer.
c est le résultat de l'appel de la classe : c'est un objet, exemplaire de Compte. Il est tentant de répondre « la classe », mais la classe est le modèle Compte lui-même, défini avec class.
Faux. Sans self., on n'atteint pas l'attribut de l'objet : on utilise une variable locale (ou on provoque une erreur si elle n'existe pas). L'attribut reste inchangé.
Les attributs portent l'état et les méthodes le comportement, deux aspects d'un objet : informations et mécanismes 4. Le constructeur initialise les attributs à la création. En revanche, une classe peut produire autant d'objets que l'on veut ; croire le contraire revient à confondre modèle et exemplaire.
Ce sont les Norvégiens Ole-Johan Dahl et Kristen Nygaard 3. Alan Kay est lié à Smalltalk, qui a repris les principes et donné son nom au paradigme 3 : c'est l'erreur la plus tentante.
Les questions qu'on se pose
Quelle est la différence entre une fonction et une méthode ?
Une méthode est une fonction écrite à l'intérieur d'une classe, qui décrit un comportement de l'objet 4. On l'appelle avec la notation pointée (objet.methode()) et elle reçoit l'objet lui-même dans son premier paramètre, self.
À quoi sert la POO, alors qu'on peut tout écrire avec des fonctions ?
Elle permet de modéliser un problème en objets qui reflètent les éléments étudiés (personnes, comptes, pages) et de faire interagir ces objets 3. Les données et les actions qui les concernent restent regroupées, ce qui rend le programme plus lisible. Elle sert aussi de base aux structures de données vues ensuite, comme les listes chaînées.
Faut-il connaître l'héritage et le polymorphisme pour le bac ?
Les documents d'accompagnement indiquent que des concepts importants de la programmation objet ne sont pas au programme de Terminale 1. Maîtrise d'abord classes, objets, attributs, méthodes et constructeur ; vérifie auprès de ton enseignant ce qui est attendu au-delà.