C'est quoi la programmation objet ?
C'est quoi un langage objet ?


La programmation object, c'est une "nouvelle" façon de concevoir les programmes.

Habituellement, un programme c'est une suite d'instructions. L'ordinateur est très bête et il faut tout lui détailler:

Mettre la main sur la poignée de la porte
Tourner la poignée
Pousser la porte
Mettre le doigt sur l'interrupteur
Appuyer sur l'interrupteur pour allumer l'ampoule
Le programme principal


Tout se passe très bien. Mais qu'est-ce qui se passe par exemple si on met une porte automatique ? Le programme sera incapable de trouver la poignée et d'ouvrir la porte !

En programmation objet, on associe aux objets des actions (aussi appellées méthodes). Par exemple, à l'objet porte on peut associer la méthode ouvrir. De même pour l'ampoule on pourrait associer une méthode allumer, éteindre, etc.

Le programme devient plus simple:

porte.ouvrir
ampoule.allumer
Le nouveau programme principal

On a plus besoin de savoir comment la porte s'ouvre. On se contente de l'ouvrir.

Pour indiquer qu'on applique la méthode (ouvrir) sur l'objet (porte), on note souvent objet.méthode (ici : porte.ouvrir).

Bien sûr il faut détailler ce que fait la méthode ouvrir de porte et la méthode allumer de lumière. On ne va pas détailler dans le programme ce que fait la méthode ouvrir, mais on va le détailler dans l'objet lui-même.

C'est normal, puisque la méthode ouvrir ne s'applique qu'à la porte, pas à la lumière:

porte.ouvrir:

Mettre la main sur la poignée
Tourner la poignée
Pousser la porte

L'objet porte et sa méthode

On peut changer la porte en mettant une porte automatique. On peut aussi l'ouvrir (même si la porte elle-même ne s'ouvre pas de la même façon):

porte.ouvrir:

Se placer devant la porte
Attendre que la porte soit complètement ouverte

L'objet porte automatique et sa méthode

Mais votre programme pourra l'ouvrir sans rien changer:

porte.ouvrir
ampoule.allumer
Le programme principal : il est inchangé malgré le changement de porte

 

La programmation objet a plusieurs intérêts, entre autres:

Les langages objets offrent des mécanismes pour permettre ce genre de programmation.

 

La définition d'un objet et de ses méthodes est appelé classe. A partir d'une classe, on peut créer plusieurs objets (plusieurs portes par exemple). Chaque objet créé est appelé instance de la classe.

Mais ce n'est pas tout : la programmation objet a d'autres avantages !

 

Pour poursuivre:

Le contenu de cette page est placé sous les termes de la licence suivante : CC Attribution-Noncommercial 4.0 International
h t t p : / / s e b s a u v a g e . n e t