Pages

30 juin 2013

POO




Pour prendre une analogie culinaire, l'approche classique en programmation est de rédiger des recettes, autrement dit la description des opérations à exécuter pour obtenir un résultat. Par exemple, la recette de la sauce hollandaise. Ensuite on s'avise qu'elle a beaucoup de points communs avec celle du beurre blanc, on réunit les parties communes en sous-programmes.

La Programmation Orientée Objet (POO) commence par organiser la cuisine en classifiant les objets que l'on utilise: on peut distinguer les ingrédients (que l'on consomme) et les ustensiles (que l'on réutilise). On constate que tous les ustensiles suivent un cycle commun utilisation-nettoyage-rangement à l'exception des cuisinières et autres micro-ondes qui ne passent pas au lave-vaisselle. Parmi les ustensiles, il y a des récipients, certains vont au feu, d'autres au micro-ondes et d'autres ne supportent pas d'être chauffés.

L'héritage n'est qu'une manière de décrire cette classification: une poêle à frire est un récipient qui va au feu, donc un récipient, donc un ustensile. Donc la classe poêle à frire hérite de la classe récipient qui hérite de la classe ustensile. 

Ensuite, on décrit dans les classes ce que les objets savent faire. Une cuisinière "sait" faire chauffer un récipient. Elle a donc une méthode faireChauffer qui prend comme paramètre un récipient qui va au feu (donc n'importe quel objet dont la classe hérite de la classe objetAllantauFeu). En petit-nègre informatique, cela donne dire à ma cuisinière de faireChauffer(maCasserole) ou traduit en anglais :

tell maCuisiniere to faireChauffer(maCasserole)

et si d'aventure on disait la même chose au lave-vaisselle, il répondrait : "L'objet lave-vaisselle ne comprend pas le message faireChauffer.".

La POO consiste à faire l'analyse d'un programme en termes d'objets manipulés et non de fonctions et de procédures à exécuter. C'est en s'efforçant de pratiquer cette analyse qu'on peut découvrir que les scripts-objets ont été conçus pour les gens qui suivent cette approche, et dans cette approche, leur usage est à la fois naturel et sans grand mystère.

Par contre si on reste dans l'approche classique d'une analyse procédurale, on éprouve les plus grandes difficultés à leur trouver une véritable utilité.

Laurent Sebilleau le 19/8/2004 sur applescript_fr@macplus.net 

Aucun commentaire: