Aller au contenu
studuel

NSI · Terminale · Structures de données

Programmation orientée objet

Données et méthodes, rangées ensemble.

Illustration : Programmation orientée objet

En bref

La programmation orientée objet regroupe dans une même entité les données et les opérations qui les concernent.

La programmation orientée objet regroupe dans une même entité les données et les opérations qui les concernent. C’est d’abord une façon d’organiser un programme.

Classe et instance

ClasseInstance
Ce que c’estUn modèleUn objet construit sur ce modèle
Ce qu’elle décritDes attributs (données) et des méthodes (fonctions)Des valeurs concrètes
ExempleCe qu’est un compte bancaireMon compte

Le constructeur et self

La méthode spéciale d’initialisation est appelée à la création de l’objet. Le paramètre self désigne l’instance en cours : il permet à une méthode de lire et modifier les attributs de l’objet sur lequel elle est appelée.

Écrire un attribut sans self, c’est créer une variable locale qui disparaîtra à la fin de la méthode. C’est l’erreur la plus fréquente du chapitre.

Où vit l’attribut

Type d’attributÀ qui il appartient
D’instanceÀ un objet
De classePartagé par tous les objets : un compteur d’instances, une constante

L’encapsulation

Les attributs ne devraient pas être manipulés directement de l’extérieur : on passe par des méthodes d’accès et de modification, qui peuvent vérifier la validité de ce qu’on écrit.

Python ne l’impose pas : un attribut préfixé d’un souligné signale par convention qu’il est interne. La discipline vient du programmeur, pas du langage.

L’intérêt : on peut changer la représentation interne d’une classe sans casser le code qui l’utilise, tant que les méthodes gardent le même comportement. C’est ce qui rend un programme modifiable.

Héritage ou composition

RelationLe mécanismeL’exemple
« est un »L’héritage : la classe reprend attributs et méthodes, en ajoute, en redéfinitUn compte épargne est un compte
« a un »La composition : un attribut qui est lui-même un objetUne voiture a un moteur

Le polymorphisme

Deux classes différentes peuvent proposer une méthode de même nom, chacune avec son propre code. Le même appel produit alors un comportement adapté au type réel de l’objet, sans que l’appelant ait besoin de le savoir.

C’est ce qui permet d’écrire un traitement unique pour une collection d’objets hétérogènes.

Le lien avec les structures de données

La POO est la façon naturelle d’implémenter un type abstrait : une classe Pile expose empiler et dépiler, et cache le tableau ou la liste chaînée qui les réalise.

Une classe bien conçue se juge à ce qu’elle cache, pas à ce qu’elle expose.

Teste-toi

6 questions pour vérifier

Touche une réponse : la correction s’affiche tout de suite.

  1. 1.Quelle est la différence entre une classe et une instance ?

  2. 2.À quoi sert le paramètre self dans une méthode Python ?

  3. 3.Quelle méthode spéciale Python est appelée à la création d’un objet ?

  4. 4.Qu’apporte l’encapsulation ?

  5. 5.Quelle relation l’héritage exprime-t-il ?

  6. 6.En Python, un attribut préfixé d’un souligné est inaccessible de l’extérieur.

0 / 6 questions

Dans l’app, ce chapitre a son quiz complet, chronométré, et tes erreurs reviennent au bon moment pour ne plus les refaire.

Continuer dans l’app
Aperçu flouté de la fiche de révision

La fiche de révision, sur une page

Tout « Programmation objet » sur une seule page A4 illustrée : l’essentiel, les pièges et un mini-test. Elle se débloque dans l’app avec des gemmes — et ton compte gratuit en offre assez pour tes trois premières fiches.

Débloquer la fiche dans l’app

Dans le même thème

NSI en terminale : passe à l’entraînement.

Le quiz complet, les exercices corrigés, les duels contre des élèves de ton niveau et un coach IA qui t’explique ce qui bloque.

Commencer gratuitement