Auteur: Jérôme Forget. Publié le 4 août 2007.
Dans cet article, vous allez vous familiariser avec la terminologie propre aux langages orientés objet et à ActionScript. Nous vous présenterons les concepts essentiels du développement orienté objet afin de vous permettre de comprendre les bases de la programmation orientée objet avec Flash.
En programmation, les objets sont identiques à ceux du monde réel : une chose possédant des propriétés, telles que nom, âge, couleur et grandeur, et des comportements, tels que dormir, manger et chasser. Les objets de programmation sont aussi dotés de propriétés et de comportements. Les techniques de programmation orientée objet permettent donc de modeler des objets du monde réel, ou encore des choses plus abstraites.
Même si tous les êtres humains possèdent des différences individuelles, ils appartiennent à la même catégorie d'êtres vivants. En programmation orientée objet, cette catégorie serait appelée une classe : la classe des êtres humains. Chaque être humain serait une occurence de la classe Humain.
En programmation orientée objet, une classe définit un modèle de type d'objets. Les caractéristiques et comportements qui appartiennent à une classe sont appelés membres de cette classe.
Les caractéristiques (nom, âge, couleur et grandeur) sont appelées propriétés de la classe et sont représentées sous forme de variables.
Pour en savoir plus sur la déclaration de propriétés de classe avec ActionScript 2.0, lisez l'article sur les propriétés.
Les comportements (dormir, manger et chasser) sont appelés méthodes de la classe et sont représentées sous forme de fonctions.
Pour en savoir plus sur la définition des méthodes avec ActionScript 2.0, lisez l'article sur les méthodes.
L'un des principaux avantages de la programmation orientée objet est le fait de pouvoir créer des sous-classes d'une classe. La sous-classe hérite alors de toutes les propriétés et méthodes de la classe. La sous-classe définit généralement des méthodes et propriétés supplémentaires, annule ou remplace les méthodes ou propriétés définies dans la super-classe.
Cette méthode permet de réutiliser simplement un code similaire entre diverses classes. Au lieu d'écrire à nouveau le code commun aux deux classes, il vous suffit d'étendre la classe existante en créant une sous-classe de celle-ci.
Pour en savoir plus et voir des exemples d'héritage avec ActionScript 2.0, lisez l'article sur l'héritage.
En programmation orientée objet, les interfaces sont des modèles de définitions de classe. L'interface déclare les méthodes, leurs paramètres et leurs types de retour, mais sans définir aucune de ces méthodes. Les classes qui implémentent l'interface doivent définir chacune des méthodes prévues dans l'interface.
Les interfaces permettent d'ajouter de la structure à vos applications et de faciliter le travail entre plusieurs programmeurs sur un même projet.
Une conception orientée objet intelligente fait des objets des boîtes noires qui contiennent ou encapsulent les fonctionnalités. Un programmeur doit pouvoir interagir avec un objet sans connaître les détails de son implémentation.
L'encapsulation permet à ActionScript 2.0 le contrôle de l'accès des membres, de sorte que les détails de l'implémentation restent invisibles pour tout codage en dehors de l'objet. Le code en dehors de l'objet interagit avec l'interface de programmation de l'objet, ses méthodes, sans connaître la façon dont sont implémentées ces méthodes.
Le polymorphisme permet aux classes de supplanter les méthodes de leurs supers-classes et de définir des implémentations spécialisées dans ces méthodes. Cette technique permet d'exprimer les différences entre les classes individuelles.