Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
Niveau supérieur 

Class  - AS3

PackageNiveau supérieur
Classepublic dynamic class Class
HéritageClass Inheritance Object

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

Un objet Class est créé pour chaque définition de classe d’un programme. Chaque objet Class est une occurrence de la classe Class. L’objet Class contient les méthodes et propriétés statiques de la class. Il crée des occurrences de la classe si vous l’appelez en spécifiant l’opérateur new.

Certaines méthodes, telles que flash.net.getClassByAlias(), renvoient un objet de type Class. D’autres méthodes, telles que flash.net.registerClassAlias(), disposent parfois d’un paramètre de type Class.

Le nom de classe renvoie à l’objet Class, comme illustré dans l’exemple ci-dessous :

 
 class Foo {
 }
 

L’instruction class Foo{} est la définition de classe qui créé l’objet Class Foo. En outre, l’instruction new Foo() créera une occurrence de la classe Foo et le résultat sera de type Foo.

Utilisez l’instruction class pour déclarer vos classes. Les objets Class s’avèrent utiles pour les techniques évoluées telles que l’affectation de classes à un objet existant lors de l’exécution, comme illustré à la section « Exemples » ci-dessous.

Les méthodes et propriétés statiques d’une classe sont héritées par l’objet Class de la classe. En retour, Class déclare prototype.

En règle générale, il est inutile de déclarer ou de créer manuellement des variables de type Class. Cependant, dans le code ci-dessous, une propriété Class publique circleClass est affectée à une classe et vous pouvez vous y référer en tant que propriété de la classe Library principale :

 package {
  import flash.display.Sprite;
  public class Library extends Sprite {
      
      public var circleClass:Class = Circle;
      public function Library() {
      }
  }
 }
  
 import flash.display.Shape;
 class Circle extends Shape {
  public function Circle(color:uint = 0xFFCC00, radius:Number = 10) {
      graphics.beginFill(color);
      graphics.drawCircle(radius, radius, radius);
  }
 }
 

Un autre fichier SWF peut charger le fichier Library.swf généré, puis instancier les objets de type Circle. L’exemple suivant illustre une façon d’accéder aux ressources d’un fichier SWF enfant (d’autres techniques font appel à flash.utils.getDefnitionByName() ou importent des définitions souche (stub) du fichier SWF enfant).

 package {
  import flash.display.Sprite;
  import flash.display.Shape;
  import flash.display.Loader;
  import flash.net.URLRequest;
  import flash.events.Event;
  public class LibaryLoader extends Sprite {
      public function LibaryLoader() {
          var ldr:Loader = new Loader();
          var urlReq:URLRequest = new URLRequest("Library.swf");
          ldr.load(urlReq);
          ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
      }
      private function loaded(event:Event):void {
          var library:Object = event.target.content;
          var circle:Shape = new library.circleClass();
          addChild(circle);
      }
  }
 }
 

ActionScript 3.0 vous permet de créer des classes intégrées destinées aux ressources externes (telles que les images, les sons ou les polices) qui sont compilées dans des fichiers SWF. Dans les versions antérieures d’ActionScript, vous associez ces ressources à la méthode MovieClip.attachMovie() par le biais d’un ID de liaison. Dans ActionScript 3.0, chaque ressource intégrée est représentée par une classe de ressources intégrées unique. Vous pouvez de ce fait utiliser l’opérateur new pour instancier la classe associée à la ressource et appeler des méthodes et des propriétés sur cette dernière.

Consulter les exemples

Eléments de l’API associés



Propriétés publiques
 PropriétéDéfini par
 Inheritedconstructor : Object
Référence à l’objet de classe ou à la fonction constructeur d’une occurrence donnée d’un objet.
Object
Méthodes publiques
 MéthodeDéfini par
 Inherited
Indique si la propriété spécifiée d’un objet est définie.
Object
 Inherited
Indique si une occurrence de la classe Object figure dans la chaîne de prototype de l’objet spécifié en tant que paramètre.
Object
 Inherited
Indique si la propriété spécifiée existe et est énumérable.
Object
 Inherited
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle.
Object
 Inherited
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur.
Object
 Inherited
Renvoie la représentation sous forme de chaîne de l’objet spécifié.
Object
 Inherited
Renvoie la valeur primitive de l’objet spécifié.
Object
Class.1.as

L’exemple suivant indique comment utiliser les objets Class pour reporter à la période d’exécution les décisions de création d’occurrences de classe à l’aide des procédures suivantes :
  1. Déclare deux classes, ClassA et ClassB.
  2. Déclare une variable de type Class appelée classToConstruct et une autre de type Boolean appelée chooseClassA, qui est définie sur true dans ce cas. Votre code pourrait également utiliser une expression de test personnalisée pour définir la valeur de cette variable.
package {
    import flash.display.Sprite;
    
    public class ClassExample extends Sprite {
        public function ClassExample() {
            var classToConstruct:Class;            
            var classInstance:Object;

            classToConstruct = ClassA;
            classInstance = new classToConstruct();
            trace(classInstance);    // [object ClassA]

            classToConstruct = ClassB;
            classInstance = new classToConstruct();
            trace(classInstance);    // [object ClassB]
        }
    }
}

class ClassA {
}
    
class ClassB {
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.