EPOOL - Environnement de Programmation Orientée Objet en Lingo par Irv Kalb
Qu'est-ce qu'un objet?
Commençons par une définition. Un objet c'est "des données, le code qui agit sur ces données au cours du temps". Voilà, tout ce résume là. Ça paraît plutôt simple non ? Ce concept apparemment simple peut être la clé pour concevoir et écrire du code d'une toute nouvelle manière. Au cours de ce livre, j'essaierai de démontrer comment la recherche de solutions suivant le point de vue de la programmation orientée objet (POO) peut aboutir à un style de programmation différent de celui utilisé avec une approche de programmation structurée.
Définitions
Un problème parfois rencontré en informatique est l'utilisation par des personnes venant d'horizons différents de différentes dénominations pour désigner une même chose. Par exemple de nombreuses personnes appellent quelque chose d'affiché à l'écran un objet. Dans le monde de Director un élément graphique défini dans une piste et destiné à être affiché est appelé une image-objet. Il est important qu'en informatique il y ait un consensus sur les mots pour que les gens puissent échanger de manière précise des informations. Un tel consensus assure que le destinataire du message a bien compris la même chose que ce qui a été dit. Au cours de ce livre je tenterai d'utiliser le plus de termes 'génériques'.
Si nous regardons à nouveau la définition d'un objet, nous voyons qu'il est constitué de données et de code. Les données et le code d'un objet ont des noms précis. Dans un langage de programmation, les données sont stockées dans une ou plusieurs variables. Dans Director, chaque donnée d'un objet est une propriété. Dans d'autres langages, ces données sont appelées variables d'instance. En Lingo, chaque portion de code démarrant par "on" et terminant par "end" est appelée un gestionnaire. D'autres langages appellent ces éléments de code essentiels des routines. Cependant il existe un terme partagé par tous les développeurs objet qui différencie les gestionnaires internes à l'objet des gestionnaires externes à l'objet. Un gestionnaire interne à un objet est généralement appelé une méthode. Si l'on considère cette terminologie, les objets en Lingo sont constitués de propriétés et de méthodes.
Director propose trois variétés d'acteurs script : scripts d'animation (movie scripts), comportements (behavior) et scripts parents. Les objets sont définis dans des scripts parents (en fait les comportements aussi sont des définitions d'objets, mais nous y reviendrons après). Jetons on il sur un script parent et regardons à quoi ressemble les propriétés et les méthodes.
property
pCompteur
on new me
pCompteur = 0
return me
end
on mIncr me
pCompteur = pCompteur
+ 1
end
on mDecr me
pCompteur = pCompteur
- 1
end
on mGetCompteur me
return pCompteur
end
Ceci est un script parent élémentaire. Au début du script nous trouvons la définition des propriétés. Ce script n'utilise qu'une seule propriété, pCompteur. Ensuite viennent les méthodes du script. Ce script parent possède quatre méthodes : new, mIncr, mDecr, mGetCompteur. Nous regarderons plus loin comment un script comme celui ci est conçu. Pour l'instant contentons-nous de remarquer que les données et le code sont combinés dans un seul script. Dans le chapitre suivant sur les conventions de nommage nous parlerons de la portée des variables. Limitons-nous pour l'instant à constater qu'une propriété comme pCompteur peut être utilisée par n'importe quelle méthode d'un objet.