Flex ActionScript – Manipulation d'évènements (Event) en ActionScript 3
ActionScript 3.0 et le framework Flex utilisent des évènements (events) pour notifier et recevoir des notifications quand des choses se passent. Les évènements apparaissent en réponse à l'utilisateur (un clic sur un bouton par exemple), au temps (un évènement provenant d'un timer), ou d'un message asynchrone (appel RPC par exemple). Peu importe la cause de l'évènement, les évènements ActionScript utilisent le même modèle d'évènements.
En MXML, on peut utiliser les attributs event handler. En ActionScript, vous pouvez manipuler les évènements en enregistrant des listeners. Un listener est une fonction/méthode qui doit recevoir des notifications quand un évènement est propagé. Par exemple, vous pouvez enregistrer une méthode qui recevra une notification quand l'utilisateur va cliquer sur un bouton.
Vous avez besoin d'au moins 2 éléments pour enregistrer un listener: un objet qui propage des évènements, et une fonction qui écoute ces évènements. Les objets capable de propager des évènements héritent de flash.events.EventDispatcher ou implémentent l'interface flash.events.IEventDispatcher. Quand un objet peut propager un évènement, il a la méthode public addEventListener() qui requiert au moins 2 paramètres: le nom de l'évènement que vous voulez écouter et la fonction/méthode qui doit écouter l'évènement:
object.addEventListener("eventName", listenerFunction);
Flex ActionScript – Interface en ActionScript 3
ActionScript 3.0 permet aussi de définir des interfaces. Les interfaces permettent de séparer l'interface de l'implémentation, ce qui permet d'avoir plus de flexibilité dans vos applications.
Ce que vous avez appris sur les déclarations de classe en ActionScript s'applique à la déclaration d'interface. En fait, il est même plus simple de lister les différences:
- Les interfaces utilisent le mot-clé interface plutôt que le mot-clé class
- Les interfaces ne peuvent pas déclarer de propriétés
- Les méthodes d'interface déclarent la signature de la méthode mais pas son implémentation
- Les interfaces déclarent seulement l'interface public pour l'implémentation des classes, c'est pourquoi la déclaration des méthodes n'autorise pas les modifiers
Flex ActionScript – Héritage en ActionScript 3
Vous pouvez créer de nouvelles classes (appelées sous-classes) qui héritent d'une classe existante (appelée super-classe). Vous pouvez le faire en utilisant le mot-clé "extends" quand vous déclarez une classe. Le mot-clé extends doit suivre le nom de la classe et doit être suivi par le nom de la classe dont vous voulez hériter. Le code suivant définit une classe B, qui hérite d'une classe fictive A:
package com.exemple{
import com.exemple.A;
public class B extends A{
}
}
ActionScript permet d'hériter de seulement une super-classe. La sous-classe hérite de l'implémentation complète de la super-classe, mais elle peut seulement accéder aux propriétés/méthodes déclarées public ou protected. Les propriétés qui sont déclarées private ne sont jamais accessible en dehors de la classe ou même des sous-classes. Les classes qui appartiennent au même package peuvent accéder aux propriétés déclarées internal.
Flex ActionScript – Array et Object en ActionScript 3
Les Array (tableau en français) sont des groupes de données organisées par indices ou par clé. ActionScript définit un type Array. Un nouvel Array est défini en utilisant le constructeur d'Array avec l'instruction new, ou en utilisant la notation littérale. La notation littérale utilise des crochets pour créer un tableau. Le code suivant crée un nouveau tableau vide et l'assigne à une variable:
var clients:Array = [];
Vous pouvez aussi peupler un tableau en ajouter une liste de valeurs entre les crochets:
var clients:Array = ["Bob", "Harry"];
Flex ActionScript – Getter/Setter en ActionScript 3
Il y a deux types de méthodes spéciaux appelés: implicit getter et setter. Elles sont déclarées comme des méthodes, mais elles sont accessibles comme si elles étaient des propriétés public. Les déclarations de ces méthodes sont identiques à celles des méthodes normales, à part pour les points suivants:
- Les méthodes getter utilisent le mot-clé get
- Les méthodes setter utilisent le mot-clé set
- Les méthodes getter n'attendent pas de paramètres et retournent une valeur
- Les méthodes setter attendent un seul paramètre et doivent être déclarées avec le type de return void





