1- Introduction

Il existe plusieurs manières d'organiser le code que l'on développe. Il est possible, de l'organiser de manière procédurale, c'est à dire que chaque commande sera exécutée après la précédente dans le script. Cette organisation est utilisée pour de petits scripts, quand le fichier du script contient peu de lignes de code et que la structure de l'application est très peu complexe. Néanmoins, à partir d'une certaine taille d'application et d'une certaine complexité, il est évident qu'il faut organiser le code différemment.

Par exemple, si vous comptez construire votre maison et recenser chaque matériau que vous allez acheter pour la construire, il sera bien plus facile de vous y retrouver si vous classez vos matériaux par grandes familles : plomberie, électricité, gros oeuvre... et que dans chaque catégorie vous faites des sous-catégories. Ainsi, pour trouver quel tuyaux d'eau chaude vous allez devoir acheter pour votre salle de bain, vous n'avez qu'à aller dans votre catégorie plomberie/tuyeaux/eau chaude plutôt que de chercher dans une liste désordonnée de milliers de lignes.

La programmation orientée objet est donc une manière d'organiser le code de manière la plus efficace, factorisée, maintenable et réutilisable possible. Pour une même application, il est évidemment possible d'oganiser le code de beaucoup de manières différentes. Dans notre exemple, nous aurions très bien pu organiser notre recueil de matériaux par pièce de la maison, par type de matériau (plastique, béton...) etc... C'est donc la responsabilité du développeur d'organiser son code en fonction de l'application et du besoin.

Cette organisation orientée objet découpe les entités du code en objets qui sont des entitées à responsabilité unique. Ces objets contiennent des informations et ont un comportement. On peut les créer et les détruire autant qu'on le souhaite et on peut créer autant d'objets différents qu'on le veut.

Comme expliquer la programmation orientée objet n'est pas chose aisée sans un exemple, nous atteler à construire des voitures.