La programmation orientée objet (P.O.O.)

Raphaelle Grenier
ELP-2018
Published in
3 min readJan 10, 2019

La programmation orientée objet est un paradigme de programmation. C’est une façon d’approcher la conception d’un programme informatique. Il existe de nombreux paradigmes de programmation mais les plus connus restent les programmations fonctionnelle, procédurale et orientée objet.

Différence programmation orientée objet et programmation procédurale

Alors que la programmation procédurale traite les programmes comme un ensemble de données sur lesquelles agissent des procédures, la programmation orientée objet, elle, relève d’une conception définie comme des « messages » échangés par des entités appelées objets. Dans le premier cas, les procédures sont des éléments actifs, les données devenant des éléments passifs : la question de « que veut-on faire ?» est alors prioritaire. Dans le second cas, les données, à travers les objets, deviennent prépondérantes : la question de « de quoi parle-t-on ? » devient essentielle.

Les langages objets sont fondés sur une seule catégorie d’entité informatique : l’objet. D’ailleurs certains s’amusent à dire que « dans la P.O.O. tout est objet ».

Mais alors qu’est-ce qu’un objet ?

Un objet dans la vie courante c’est un stylo, une voiture, un ballon, … On peut décrire un ballon comme rond, carré, ovale ou alors rouge, vert pomme, orange ou ayant une certaine taille, … Il peut se déplacer, se percer, être regonflé, … En informatique c’est sensiblement la même chose ! On définit un objet par ses attributs (ce qui permet de le décrire) et ses méthodes (les actions qu’il peut réaliser). Dans l’exemple du ballon ses attributs sont sa forme, sa couleur et sa taille ; ses méthodes sont se déplacer, se percer, être regonflé. Après avoir défini l’objet ballon on peut alors créer un nouveau ballon : on dit qu’on instancie un objet. Une fois que l’on aura défini et instancié des objets personnes, stylos, voitures, etc. on pourra les faire interagir entre eux en s’envoyant des messages à travers leurs méthodes. Suite à ces interactions, leurs attributs pourront être changés ou non.

Les principes de la P.O.O.

Outre le fait de se reposer sur la création d’objet, la P.O.O. a développé plusieurs principes :

· L’encapsulation : permet de masquer un certain nombre d’attributs et de méthodes afin de garder une cohérence dans la gestion de l’objet. Cela dissocie ce qui est interne à l’objet de ce qui est destiné à être utilisé par d’autres objets ou l’utilisateur.

· L’héritage : permet, à partir d’un objet existant (nommé objet parent), de définir un nouvel objet (nommé objet enfant) auquel on ajoute de nouveaux attributs et de nouvelles méthodes en plus de ceux hérités de l’objet existant. L’héritage permet aussi de redéfinir les méthodes héritées de l’objet parent plutôt que d’en créer de nouvelles. Cette pratique s’appelle la redéfinition.

· Le polymorphisme : capacité d’un objet à posséder plusieurs formes. Ce principe découle de l’héritage. En effet la redéfinition permet de réécrire de(s) méthode(s) héritées du parent de l’objet enfant. En fonction de si on s’adresse à un objet qui hérite d’un autre comme un parent ou comme un objet enfant, la réponse à une certaine méthode ne sera pas forcément la même, surtout si cette méthode est redéfinie.

Aujourd’hui la programmation orientée objet est utilisée dans de nombreux langages de programmation. Certains sont considérés comme des purs langages de P.O.O. : Simula, Smalltalk, Eiffel, Java. D’autres langages, comme Pascal ou C++ ont plus cherché à appliquer une « philosophie objet ». L’orienté objet est donc un concept incontournable en informatique de nos jours.

--

--