Classes et objets

Demander un devis
Je souhaite télécharger le programme ou imprimer le programme
  • Imprimer
tutoriel_vers_formation_Flex

Nous l'avons vu, ActionScript 3 est un langage orienté objet. Nous pouvons donc créer nos propres classes, mais surtout instancier les nombreuses classes fournies par le framework Flex. Au cours de ce tutoriel, nous aurons l'occasion de découvrir différentes classes, mais en voici déjà deux que nous utiliserons régulièrement.

 

Une classe utile : Alert

 

La classe Alert permet de créer et d'afficher une boite de dialogue de ce type :

classes

 

Les boites de dialogue de la classe Alert sont dites modales, c'est-à-dire que la fenêtre parente n'est plus accessible tant que la boîte de dialogue n'est pas fermée.

 

Pour utiliser la classe Alert, il faut d'abord l'importer, de manière à ce que la méthode dans laquelle nous écrivons sache à quoi correspond la classe Alert. Pour ce faire, utilisons le mot-clé import suivi du nom complet de la classe, c'est-à-dire avec son namespace :

import mx.controls.Alert;

La classe Alert dispose d'une méthode show() qui prend en arguments le contenu et le titre (optionnel) du message. Cette méthode étant statique, il n'est pas nécessaire d'instancier un objet Alert :

Alert.show("Ceci est un exemple de boite d'alerte.\n" +
      "Le texte affiché peut être sur plusieurs lignes.",
      "Titre personnalisable"); 

Par défaut, la boite de dialogue comporte uniquement un bouton OK, mais un troisième paramètre de la méthode show() permet de spécifier les boutons affichés dans la boite de dialogue, parmi les valeurs Alert.OK, Alert.CANCEL, Alert.YES et Alert.NO. Pour spécifier la présence de plusiers boutons, nous utiliserons la syntaxe (valeur_1 | valeur_2 | valeur_3)

 

Le script suivant affichera la boîte de dialogue ci-dessous :

<fx:Script>
      <![CDATA[
            import mx.controls.Alert;
 
            public function test():void {
                  Alert.show("Ceci est un exemple de boite d'alerte.\n" +
                        "Le texte affiché peut être sur plusieurs lignes.",
                        "Titre personnalisable", (Alert.OK, Alert.CANCEL));
            }
      ]]>
</fx:Script>

alert

 

Les tableaux : Array et ArrayCollection

Création d'un tableau

Une autre classe utile est celle qui permet de gérer des collections d'objets dans des tableaux. Pour créer un tableau, il faut instancier un objet de la classe Array, en utilisant le mot clés new. Les valeurs sont ensuite ajoutées au tableau comme indiqué ci-dessous :

var tab:Array = new Array();
tab[0] = 1;
tab[1] = 2;
tab[2] = 3;

Le constructeur de la classe Array peut également prendre en paramètre les valeurs que l'on souhaite stocker dans le tableau, et le code ci-dessus peut également s'écrire ainsi : 

var tab:Array = new Array(1, 2, 3);

Le mot-clé new peut également être implicite, en utilisant cette syntaxe :

var tab:Array = [1, 2, 3];

Les trois syntaxes sont équivalentes, à vous de choisir celle que vous préférez utiliser. Notez que le type des données stockées n'est jamais indiqué, ce n'est pas nécessaire et un Array peut contenir des données de types différents. Toutefois, les règles de bonne programmation recommandent d'insérer dans un tableau uniquement des données de même type.

 

Un objet Array dispose d'un certain nombre de méthodes utiles à la manipulation des données, dont :

  • push() ajoute la ou les valeurs passées en paramètres à la fin du tableau et renvoie la nouvelle taille du tableau,
  • unshift() ajoute la ou les valeurs passées en paramètres au début du tableau et renvoie la nouvelle taille du tableau,
  • pop() supprime le dernier élément du tableau et renvoie sa valeur,
  • shift() supprime le premier élément du tableau et renvoie sa valeur,

 

La classe ArrayCollection

 

La classe ArrayCollection permet d'utiliser un tableau en proposant des méthodes pour contrôler et manipuler les données stockées. Un objet de type ArrayCollection peut notamment servir de fournisseur de données (dataProvider) à un composant Flex.

Avant d'utiliser un ArrayCollection, il faut d'abord penser à importer la classe : 

import mx.collections.ArrayCollection;

Pour créer et remplir un ArrayCollection, nous disposons de deux techniques : 

  • à partir d'un Array : 
    var tab:Array = [1, 2, 3];
    var collection:ArrayCollection = new ArrayCollection(tab);
  • avec le mot-clé new et la méthode addItem :
    var collection:ArrayCollection = new ArrayCollection();
    collection.addItem(1);
    collection.addItem(2); 
    collection.addItem(3); 

 

La propriété length permet de connaitre le nombre d'éléments et la propriété source de manipuler l'Array compris dans l'ArrayCollection.

 

Nous l'avons vu, la méthode addItem() permet d'ajouter l'élément fourni en paramètre à la suite des autres. La méthode addItemAt() permet de faire de même en ajoutant l'élément à un index donné, spécifié par un deuxième paramètre. Comme pour un Array, les indices commencent à zéro :

var collection:ArrayCollection = new ArrayCollection();
collection.addItem("Mistra");
collection.addItemAt("Formation, 0);

 

D'autres méthodes vous seront également utiles :

  • getItemAt() renvoie l'élément stocké à l'index passé en paramètre,
  • setItemAt() place l'élément fourni en premier paramètre à l'index fourni en deuxième paramètre, éventuellement en remplacement de l'élément qui existait à cet index,
  • removeItemAt() supprime de l'ArrayCollection l'élément placé à l'index fourni en paramètre, et le renvoie,
  • removeAll() supprime tous les éléments de l'ArrayCollection.

 

tutoriel_precedent

tutoriel_suivant

.
X
 
 
 
 
 

You havecharacters left.