Les types de variables

Compatible ActionScript 2. Cliquer pour en savoir plus sur les compatibilités.Par neo-lao

Les types de variables

Dans le langage de programmation de Flash, l'actionScript, les variables déclarées sont automatiquement du type approprié à leur contenu. On parle alors de déclaration implicite, contrairement à la déclaration explicite où il faut absolument déclarer une variable de type adéquat avant d'y enregistrer une donnée.

Il existe 6 types de variable différents en actionScript :

  • Type chaîne (string) : C'est une chaîne de caractères, ou plus brutalement “du texte”.
  • Type nombre (number) : Comme son nom l'indique, c'est un nombre.
  • Type booléen (boolean) : Ce type ne peut contenir que 2 valeurs différentes, vrai ou faux. On utilisera alors true ou false, ou alors 1 ou 0.
  • Type fonction (function) : On peut aussi parler de procédure. C'est en fait un sous-script que l'on peut exécuter en l'appelant.
  • Type movieClip (movieclip) : C'est une type très spécifique à Flash qui désigne un élément graphique parmi les 3 possibles (movieclip, button, graphic).
  • Type objet (object) : Ce type regroupe les boutons, les champs de texte et les objets en général.

Les chaînes de caractères

Pour attribuer une valeur à une variable de type chaîne, il existe différentes méthodes. La plus simple consiste à écrire simplement :

ma_variable = "Hello world";

On peut aussi utiliser l'apostrophe, cela donne :

ma_variable = 'Hello world';

La troisième façon consiste à faire :

ma_variable = new String("Hello world");

Donc, on peut utiliser les guillements ou les apostrophes pour désigner la chaîne de caractères, mais il faut absolument terminer l'attribution par le même caractère. Exemple :

ma_variable = "Hello world";

et

ma_variable = 'Hello world';

sont correctes, alors que

ma_variable = "Hello world';

provoquera une erreur. Si l'on désire insérer des guillemets alors qu'on utilise les guillemets comme délimiteur de chaîne, il faut “échaper” le caractère des guillements avec l'anti-slash.

Exemple :

ma_variable = "Hello \"world\"";

ce qui générera la chaîne Hello “world”.

Les nombres

Il existe 2 sous-types dans les nombres : les entiers et les nombres à virgule. Chez les entiers, il existe encore plusieurs représentation d'un nombre. En effet, on a l'habitude d'utiliser la base 10, c'est à dire une représentation à 10 chiffres (0123456789), mais en actionScript, il est aussi possible d'utiliser les bases 8 et 16. Mais il faut bien que Flash fasse la différence entre ces différentes bases, alors les premiers chiffres deviennent déterminants.

Par exemple :

  • En base 10(décimal), le premier chiffre est toujours un chiffre autre que zéro :
ma_variable = 123;
  • En base 8 (octal), le premier chiffre est toujours un zero, suivi des chiffres possibles (1234567) :
ma_variable = 0123;

Il est donc impossible d'utiliser les chiffres 8 et 9 pour cette base.

  • En base 16 (hexadécimal), ce sont les 2 premiers caractères qui sont importants :
ma_variable = 0x123;

Chez les nombres à virgule, il y a les float et les double, qui sont toujours représentés en base 10. La différente entre ses 2 types, c'est qu'un float ne peut représenter un nombre de plus de 15 chiffres avant la virgule contrairement à un double. Donc pour représenter plus de 999999999999999, on est obligé d'utiliser des doubles.

Exemple : 1500 est égal à 1.5e+3. On peut comprendre e comme une multiplication d'une puissance de 10. Dans cet exemple, c'est 10 puissance 3.

Le nombre maximum est approximativement égal à 1.79e+308 et le minimum à 5e-324. Au delà de cet interval, Flash considère le nombre comme infini négatif ou positif.

Les booléens

La petite description du début en dit déjà assez. En effet, un booléen ne peut contenir comme valeur, que vrai ou faux. On représente ces valeurs respectivement par true ou false. Mais il est aussi possible d'utiliser 1 ou 0, car un booléen est encodé sur un bit (ne pas confondre avec byte qui est équivalent à octet). Le booléen est le type de variable qui demande le moins d'emplacement mémoire (difficile de faire plus petit qu'un bit …).

Les fonctions

En actionScript, il est possible de créer des fonctions, par exemple :

function ma_fonction(){
// expressions
}

Il est aussi possible de la créer comme ci-dessous sous flash MX:

ma_variable = function() {
// expressions
}

Cet exemple montre bien qu'une variable peut être de type fonction.

Les movieClips

C'est un type propre à Flash que je ne développerais pas ici.

Les objets

Les objets, on en voit partout dans Flash. Un objet peut contenir lui même des variables de tout type sauf movieClip. Un objet peut lui même contenir un objet. On peut se dire qu'un objet est un contenant et les variables sont le contenu. L'objet doit d'abord être déclaré dans Flash

Exemples :

ma_variable = new Object();
ma_variable.ma_sous_variable = "Hello world";

On peut aussi créer un objet comme ci-dessous :

ma_variable = {};

On n'a pas besoin de déclarer un objet s'il devient une copie d'un autre :

ma_variable = {};
ma_variable2 = ma_variable;

Les objets particuliers que l'on peut remarquer, ce sont les tableaux ou Array(). En effet, la différence notable avec un objet normal, c'est qu'un tableau est ordonné.

Exemple :

ma_variable = new Array();
ma_variable[0] = "Hello world";
ma_variable[1] = "Bonjour";

Notons qu'il est aussi nécessaire de déclarer le tableau avant son utilisation, comme un objet.

On remarque aussi qu'un tableau s'indexe à partir de zero.

On peut aussi déclarer un tableau comme ci-dessous :

ma_variable = new Array("Hello world", "Bonjour");

ou

ma_variable = [];

ou encore

ma_variable = ["Hello world", "Bonjour"];

L'intérêt d'un tableau, c'est qu'il permet le triage de données.

Il y a d'autres objets possédant des fonctions spécifiques qui sont inclus dans Flash, comme par exemple les objets Math, Date ou encore loadVars. Se référer à l'aide pour de plus amples informations.

Dernière remarque

Pour finir, on peut connaitre le type d'une variable avec la commande typeof()

Exemple :

ma_variable = "Hello World";
trace(typeof(ma_variable));

On obtient dans le panneau Sortie de flash : string

Pour toute question au sujet de ce tutorial veuillez utiliser les salles du forum merci.

NeoLao.

 
Le contenu de cet article est la propriété de son auteur : neo-lao .
Toute distribution ou adaptation est interdite sans l'autorisation expresse de l'auteur. Si besoin, vous pouvez essayer de contacter neo-lao par l'intermédiaire du forum.
Contact Ressources Mediabox

Ces pages de ressources collaboratives Mediabox sont mises en ligne en utilisant Dokuwiki