|
Ressources Flash CS4 |
VariablesPour déclarer une variable, utilisez les mots-clés var ou const. Les variables déclarées avec le mot-clé var sont susceptibles de changer de valeur plusieurs fois au cours de l'exécution d'un script. Les variables déclarées à l'aide du mot-clé const sont appelées des constantes et on ne peut leur attribuer une valeur qu'une seule fois. Une erreur survient lors d'une tentative d'attribution d'une nouvelle valeur à une constante initialisée. Pour plus d'informations, consultez la section Constantes. Variables statiquesLes variables statiques sont déclarées à l'aide de l'association du mot-clé static et de l'instruction var ou const. Les variables statiques sont affectées à une classe, plutôt qu'à une occurrence de classe. Elles permettent de stocker et de partager des informations propres à une classe entière d'objets. Par exemple, une variable statique permet d'enregistrer le nombre de fois où une classe a été instanciée ou bien le nombre maximal d'occurrences autorisées pour une classe. L'exemple ci-dessous crée une variable totalCount qui permet d'enregistrer le nombre total d'instanciations d'une classe et une constante MAX_NUM dont la valeur est le nombre maximum d'instanciations autorisées. Les variables totalCount et MAX_NUM sont statiques car elles contiennent des valeurs qui s'appliquent à la classe elle-même, plutôt qu'à une occurrence particulière. class StaticVars
{
public static var totalCount:int = 0;
public static const MAX_NUM:uint = 16;
}
Un code extérieur à la classe StaticVars, ainsi que toutes ses sous-classes, ne peuvent faire référence aux propriétés totalCount et MAX_NUM que par le biais de la classe elle-même. Par exemple, le code suivant fonctionne : trace(StaticVars.totalCount); // output: 0 trace(StaticVars.MAX_NUM); // output: 16 Comme il est impossible d'accéder à des variables statiques par une occurrence de la classe, le code suivant renvoie des erreurs : var myStaticVars:StaticVars = new StaticVars(); trace(myStaticVars.totalCount); // error trace(myStaticVars.MAX_NUM); // error Les variables qui sont déclarées avec les deux mots-clés static et const doivent être initialisées en même temps lors de la déclaration de la constante, tout comme la classe StaticVars le fait pour MAX_NUM. Il est impossible d'attribuer une valeur à MAX_NUM au sein du constructeur ou d'une méthode d'occurrence. Le code suivant générera une erreur, car ce n'est pas une façon valide d'initialiser une constante statique : // !! Error to initialize static constant this way
class StaticVars2
{
public static const UNIQUESORT:uint;
function initializeStatic():void
{
UNIQUESORT = 16;
}
}
Variables d'occurrenceLes variables d'occurrence contiennent des propriétés déclarées à l'aide des mots-clés var et const, mais sans le mot-clé static. Les variables d'occurrence, qui sont associées à des occurrences de classe plutôt qu'à la classe elle-même, sont utiles pour conserver des valeurs spécifiques à une occurrence. Par exemple, la classe Array dispose d'une propriété d'occurrence appelée length qui conserve le nombre d'éléments du tableau appartenant à une occurrence particulière de la classe Array. Qu'elles soient déclarées avec le mot-clé var ou const, les variables d'occurrence ne peuvent pas être redéfinies dans une sous-classe. Il est toutefois possible d'obtenir un effet similaire à la redéfinition de variables, en redéfinissant des méthodes de lecture et de définition. Pour plus d'informations, consultez la section Méthodes accesseur get et set. |