Objets et classes

Dans ActionScript 3.0, chaque objet est défini par une classe. Une classe peut être considérée comme un modèle pour un type d’objet. Les définitions de classe peuvent inclure des variables et des constantes, qui comprennent des valeurs de données, et des méthodes, qui sont des fonctions encapsulant le comportement lié à la classe. Les valeurs stockées dans les propriétés peuvent être des valeurs primitives ou d’autres objets. Les valeurs primitives sont des nombres, des chaînes ou des valeurs booléennes.

ActionScript contient de nombreuses classes intégrées faisant partie du langage de base. Certaines de ces classes intégrées (Number, Boolean et String, par exemple), représentent les valeurs primitives disponibles dans ActionScript. D’autres, telles que les classe Array, Math et XML, définissent des objets plus complexes.

Toutes les classes, qu’elles soient intégrées ou définies par l’utilisateur, dérivent de la classe Object. Pour les programmeurs ayant une expérience avec ActionScript, il est important de noter que le type de données Object n’est plus le type de données par défaut, même si toutes les autres classes en dérivent. Dans ActionScript 2.0, les deux lignes de code suivantes étaient équivalentes car l’absence d’une annotation de type signifiait qu’une variable aurait été de type Object :

var someObj:Object; 
var someObj;

ActionScript 3.0, néanmoins, présente le concept de variables non typées, qui peuvent être désignées des deux façons suivantes :

var someObj:*; 
var someObj;

Une variable non typée est différente d’une variable de type Object. La différence majeure est que les variables non typées peuvent contenir la valeur spéciale undefined, alors qu’une variable de type Object ne le peut pas.

Vous pouvez définir vos propres classes à l’aide du mot-clé class. Vous disposez de trois façons différentes pour déclarer les propriétés d’une classe : vous pouvez définir des constantes avec le mot-clé const, des variables avec le mot-clé var et des propriétés de lecture et de définition au moyen des attributs get et set dans une déclaration de méthode. Vous pouvez déclarer des méthodes avec le mot-clé function.

Vous créez une occurrence d’une classe à l’aide de l’opérateur new. L’exemple suivant crée une occurrence de la classe Date appelée myBirthday.

var myBirthday:Date = new Date();