03.07.2013 Views

Guide de reference du langage ActionScript 2.0 - PowWeb

Guide de reference du langage ActionScript 2.0 - PowWeb

Guide de reference du langage ActionScript 2.0 - PowWeb

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Array<br />

Object<br />

|<br />

+-Array<br />

public dynamic class Array<br />

extends Object<br />

La classe Array vous permet d'accé<strong>de</strong>r aux tableaux in<strong>de</strong>xés et <strong>de</strong> les manipuler. Un tableau<br />

in<strong>de</strong>xé est un objet dont les propriétés sont i<strong>de</strong>ntifiées par un nombre représentant leur<br />

position au sein <strong>de</strong> celui-ci. Ce nombre est appelé in<strong>de</strong>x. Tous les tableaux in<strong>de</strong>xés sont basés<br />

sur zéro, ce qui signifie que le premier élément <strong>du</strong> tableau est [0], le <strong>de</strong>uxième est [1], etc.<br />

Pour créer un objet Array, utilisez le constructeur new Array(). Pour accé<strong>de</strong>r aux éléments<br />

d'un tableau, utilisez l'opérateur d'accès au tableau ([]).<br />

Vous pouvez stocker divers types <strong>de</strong> données dans un élément <strong>de</strong> tableau, y compris les<br />

nombres, les chaînes, les objets et même d'autres tableaux. Vous pouvez créer un tableau<br />

multidimensionnel en concevant un tableau in<strong>de</strong>xé et en affectant à chacun <strong>de</strong> ses éléments un<br />

tableau in<strong>de</strong>xé différent. Ce type <strong>de</strong> tableau est considéré comme étant miltidimensionnel car<br />

il peut être utilisé pour représenter <strong>de</strong>s données dans un tableau.<br />

L'affectation au tableau s'effectue par référence plutôt que par valeur : lorsque vous affectez<br />

une variable <strong>de</strong> tableau à une autre variable <strong>de</strong> tableau, elles renvoient toutes <strong>de</strong>ux au même<br />

tableau :<br />

var oneArray:Array = new Array("a", "b", "c");<br />

var twoArray:Array = oneArray; // Both array variables refer to the same<br />

array.<br />

twoArray[0] = "z";<br />

trace(oneArray); // Output: z,b,c.<br />

La classe Array ne doit pas être utilisée pour créer <strong>de</strong>s tableaux associatifs car il s'agit <strong>de</strong><br />

structures <strong>de</strong> données différentes qui contiennent <strong>de</strong>s éléments nommés au lieu d'éléments<br />

numérotés. Il est recommandé d'utiliser la classe Object pour créer <strong>de</strong>s tableaux associatifs<br />

(également appelés hachages). Bien que <strong>ActionScript</strong> vous permette <strong>de</strong> créer <strong>de</strong>s tableaux<br />

associatifs à l'ai<strong>de</strong> <strong>de</strong> la classe Array, vous ne pouvez pas utiliser les métho<strong>de</strong>s ou les propriétés<br />

<strong>de</strong> cette <strong>de</strong>rnière. Sous sa forme <strong>de</strong> base, un tableau associatif est une occurrence <strong>de</strong> la classe<br />

Object et chaque paire clé/valeur est représentée par une propriété et sa valeur. Vous pouvez<br />

également déclarer un tableau associatif à l'ai<strong>de</strong> <strong>du</strong> type <strong>de</strong> données Object pour la raison<br />

suivante : cela vous permet d'utiliser ensuite un littéral d'objet pour alimenter votre tableau<br />

associatif (uniquement au moment <strong>de</strong> la déclaration). L'exemple suivant crée un tableau<br />

associatif à l'ai<strong>de</strong> d'un littéral d'objet, accè<strong>de</strong> aux éléments à l'ai<strong>de</strong> <strong>de</strong> l'opérateur point et<br />

d'accès au tableau, puis ajoute une nouvelle paire clé/valeur en créant une nouvelle propriété :<br />

var myAssocArray:Object = {fname:"John", lname:"Public"};<br />

250 Chapitre 2: Classes <strong>ActionScript</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!