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...
mx.core 

ClassFactory  - AS3 Flex

Packagemx.core
Classepublic class ClassFactory
HéritageClassFactory Inheritance Object
Implémente IFactory
Sous-classes ButtonBarButtonClassFactory, ContextualClassFactory

Version du langage: ActionScript 3.0
Version du produit: Flex 3
Versions du moteur d’exécution: Flash Player 9, AIR 1.1

Une instance ClassFactory est un « objet fabrique » utilisé par Flex pour générer des instances d’une autre classe, ayant toutes des propriétés identiques.

Vous spécifiez une classe generator lorsque vous créez l’objet fabrique. Vous pouvez alors définir la propriété properties sur l’objet fabrique. Flex utilise l’objet fabrique pour générer des instances en appelant la méthode newInstance() de l’objet fabrique.

La méthode newInstance() crée une nouvelle instance de la classe generator et définit les propriétés spécifiées par properties dans la nouvelle instance. Le cas échéant, pour personnaliser les instances générées, vous pouvez remplacer la méthode newInstance().

La classe ClassFactory met en œuvre l’interface IFactory. Par conséquent, elle permet de créer des objets pouvant être affectés à des propriétés du type IFactory, telles que la propriété itemRenderer d’une commande List ou la propriété itemEditor d’une commande DataGrid.

Par exemple, supposons que vous écrivez une classe de rendu d’élément appelée ProductRenderer contenant une propriété showProductImage pouvant avoir la valeur true ou false. Si vous souhaitez permettre à une commande List d’utiliser ce rendu, puis faire afficher une image du produit par chaque instance de rendu, vous devez écrire le code suivant :

  var productRenderer:ClassFactory = new ClassFactory(ProductRenderer);
  productRenderer.properties = { showProductImage: true };
  myList.itemRenderer = productRenderer;

La commande List appelle la méthode newInstance() sur l’objet itemRenderer pour créer des instances individuelles de la classe ProductRenderer ayant toutes la propriété showProductImage définie sur true. Pour faire omettre l’image du produit par une autre commande List, utilisez la classe ProductRenderer pour créer une autre fabrique ClassFactory avec la propriété properties définie sur { showProductImage: false }.

L’utilisation de la propriété properties pour configurer les instances peut être efficace, car elle permet l’utilisation d’une même classe generator de différentes façons. Toutefois, il est très courant de créer des classes generator non configurables qui ne nécessitent aucune définition de propriétés. Pour cette raison, MXML permet d’utiliser la syntaxe suivante :

  <mx:List id="myList" itemRenderer="ProductRenderer">

Le compilateur MXML crée automatiquement l’instance ClassFactory.

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
  generator : Class
Classe utilisée par la méthode newInstance() pour la création d’objets à partir de cet objet de fabrique.
ClassFactory
  properties : Object = null
Objet dont les paires nom/valeur spécifient les propriétés à définir sur chaque objet généré par la méthode newInstance().
ClassFactory
Méthodes publiques
 MéthodeDéfini par
  
ClassFactory(generator:Class = null)
Constructeur.
ClassFactory
 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
  
Crée une nouvelle instance de la classe generator, avec les propriétés spécifiées par properties.
ClassFactory
 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
Détails de la propriété

generator

propriété
public var generator:Class

Version du langage: ActionScript 3.0
Version du produit: Flex 3
Versions du moteur d’exécution: Flash Player 9, AIR 1.1

Classe utilisée par la méthode newInstance() pour la création d’objets à partir de cet objet de fabrique.

properties

propriété 
public var properties:Object = null

Version du langage: ActionScript 3.0
Version du produit: Flex 3
Versions du moteur d’exécution: Flash Player 9, AIR 1.1

Objet dont les paires nom/valeur spécifient les propriétés à définir sur chaque objet généré par la méthode newInstance().

Par exemple, si vous définissez properties sur { text: "Hello", width: 100 }, alors chaque instance de la classe generator générée par l’appel de la méthode newInstance() aura une propriété text définie sur "Hello" et une propriété width définie sur 100.

La valeur par défaut est null.

Détails du constructeur

ClassFactory

()Constructeur
public function ClassFactory(generator:Class = null)

Version du langage: ActionScript 3.0
Version du produit: Flex 3
Versions du moteur d’exécution: Flash Player 9, AIR 1.1

Constructeur.

Paramètres
generator:Class (default = null) — Classe utilisée par la méthode newInstance() pour la création d’objets à partir de cet objet de fabrique.
Détails de la méthode

newInstance

()méthode
public function newInstance():*

Version du langage: ActionScript 3.0
Version du produit: Flex 3
Versions du moteur d’exécution: Flash Player 9, AIR 1.1

Crée une nouvelle instance de la classe generator avec les propriétés spécifiées par properties.

Cette méthode implémente la méthode newInstance() de l’interface IFactory.

Valeur renvoyée
* — Nouvelle instance ayant été créée.




[ 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.