• 15 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 02/12/2019

Qu'est-ce que la programmation orientée objet ?

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

S'il y a bien un mot qui doit vous frustrer quand vous en entendez parler, c'est celui-ci : objet. Des gens parlent de "programmation orientée objet" comme si c'était une manière révolutionnaire de programmer... et vous vous demandez à quoi ça pourrait vous servir.

Alors c'est quoi ? Encore un concept mystique ? Un délire de programmeurs après une soirée trop arrosée ?
Non parce que, franchement, un objet, c'est quoi ? Mon écran est un objet, ma voiture est un objet, mon téléphone portable... Ce sont tous des objets !

Bien vu, c'est un premier point.
En effet, nous sommes entourés d'objets. En fait, tout ce que nous connaissons (ou presque) peut être considéré comme un objet. L'idée de la programmation orientée objet, c'est de manipuler dans son code source des éléments que l'on appelle des « objets ».

Voici quelques exemples d'objets dans des programmes courants :

  • une fenêtre ;

  • un utilisateur ;

  • un... billet de blog.

Comme vous le voyez, beaucoup de choses peuvent être considérées comme des objets.

Mais concrètement, c'est quoi ? Une variable ? Une fonction ?

Ni l'un, ni l'autre. C'est un nouvel élément en programmation.
Pour être plus précis, un objet c'est... un mélange de plusieurs variables et fonctions.

Ne faites pas cette tête-là, vous allez découvrir tout cela par la suite. 😶

Mais d'abord, pour éviter que mes explications ne ressemblent à un traité d'art contemporain conceptuel, nous allons imaginer ensemble ce qu'est un objet à l'aide de plusieurs schémas concrets.

Imaginez qu'un développeur décide un jour de créer un programme qui permet d'afficher un sélecteur de date dans un formulaire... Le code est complexe : il aura besoin de plusieurs fonctions qui s'appellent entre elles, ainsi que de variables pour mémoriser le mois en cours, la taille du calendrier, etc.

Un développeur a créé un sélecteur de date
Un développeur a créé un sélecteur de date. Problème : c'est vite complexe.

Le développeur met du temps à écrire ce code, c'est un peu compliqué mais il y arrive. Au final, le code qu'il a rédigé est composé de plusieurs fonctions et variables. Quand on regarde son code pour la première fois, cela ressemble à une expérience de savant fou à laquelle on ne comprend rien :

Le code ressemble à une expérience complexe

Ce programmeur est content de son code et veut le distribuer sur Internet, pour que tout le monde puisse ajouter un sélecteur de date dans ses pages sans perdre du temps à tout réécrire. Seulement voilà, à moins d'être un expert certifié en chimie, vous allez mettre pas mal de temps avant de comprendre comment fonctionne tout ce bazar.

Quelle fonction appeler en premier ? Quelles valeurs envoyer à quelle fonction pour indiquer la date par défaut ? Autrement dit : comment utiliser ce fatras sans qu'une fiole ne nous explose entre les mains ?

C'est là que notre ami programmeur pense à nous. Il conçoit son code de manière orientée objet. Cela signifie qu'il place tout son bazar chimique à l'intérieur d'un simple cube. Ce cube est ce qu'on appelle un objet :

L'utilisation du code est simplifiée grâce à l'utilisation d'un objet

Sur l'illustration précédente, une partie du cube a été volontairement mise en transparence afin de vous montrer que nos fioles chimiques sont bien situées à l'intérieur du cube. Mais en réalité, le cube est complètement opaque, on ne voit rien de ce qu'il y a à l'intérieur :

Le code est en réalité totalement invisible pour l'utilisateur

Ce cube contient toutes les fonctions et variables (nos fioles de chimie) mais il les masque à l'utilisateur.

Au lieu d'avoir des tonnes de tubes et de fioles dont il faut comprendre le fonctionnement, on nous propose juste quelques boutons sur la face avant du cube : un bouton « ouvrir le sélecteur de date », un bouton « enregistrer la date », etc. L'utilisateur n'a plus qu'à employer les boutons du cube, sans se soucier de tout ce qui se passe à l'intérieur. Pour lui, le fonctionnement est donc complètement simplifié.

En clair, programmer de manière orientée objet, c'est créer du code source (potentiellement complexe) mais que l'on masque en le plaçant à l'intérieur d'un cube (un objet) à travers lequel on ne voit rien. Pour la personne qui va l'utiliser, travailler avec un objet est donc beaucoup plus simple qu'avant : il suffit d'appuyer sur des boutons et on n'a pas besoin d'être diplômé en chimie pour s'en servir.

Bien sûr, c'est une image, mais c'est ce qu'il faut comprendre et retenir pour le moment. 😊

Exemple de certificat de réussite
Exemple de certificat de réussite