La programmation orientée objet est une méthode moderne de programmation extrêmement puissante.

Dans la vie de tous les jours, nous sommes entourés d'objets (par objet j'entends toutes choses inanimées, mais aussi les êtres vivants !). L'idée de la programmation orientée objet, c'est de manipuler des éléments que l'on appelle des "objets" dans son code source.

Un objet dans la vie de tous les jours, vous connaissez, mais en informatique, qu'est ce que c'est ? 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 (que nous appellerons respectivement attributs et méthodes) ! Imaginez un objet (de la vie de tous les jours) très complexe (par exemple un moteur de voiture pour un profane) : Il est évident qu'en regardant cet objet, on est frappé par sa complexité (pour un non spécialiste).

Imaginez que l'on enferme cet objet dans une caisse et que l'utilisateur de l'objet n'a pas besoin d'en connaître son principe de fonctionnement interne pour pouvoir l'utiliser. L'utilisateur a, à sa disposition, 2 boutons et une manette pour faire fonctionner l'objet, ce qui rend son utilisation relativement simple.

La mise au point de l'objet (par des ingénieurs) a été très complexe, en revanche son utilisation est relativement simple.

Programmer de manière orientée objet, c'est créer du code source (qui peut-être 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 le programmeur qui va utiliser une classe codée par un autre programmeur , travailler avec un objet est donc beaucoup plus simple qu'avant : il a juste à appuyer sur des boutons et n'a pas besoin d'être ingénieur pour s'en servir.

Un des nombreux avantages de la POO, c'est qu'au jour d'aujourd'hui, il existe des milliers d'objets (on les appelle des classes) prêts à être utilisés. On peut réaliser des programmes extrêmement complexes uniquement en utilisant des classes (objets) préexistantes.

Bien évidemment, nous allons aussi créer nos propres classes en python.