Package | mx.core |
Classe | public class ClassFactory |
Héritage | ClassFactory 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 |
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é | Défini par | ||
---|---|---|---|
constructor : 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éthode | Défini par | ||
---|---|---|---|
ClassFactory(generator:Class = null)
Constructeur. | ClassFactory | ||
Indique si la propriété spécifiée d’un objet est définie. | Object | ||
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 | ||
newInstance():*
Crée une nouvelle instance de la classe generator, avec les propriétés spécifiées par properties. | ClassFactory | ||
Indique si la propriété spécifiée existe et est énumérable. | Object | ||
Définit la disponibilité d’une propriété dynamique pour les opérations en boucle. | Object | ||
Renvoie la représentation de chaîne de cet objet, formatée selon les paramètres régionaux en vigueur. | Object | ||
Renvoie la représentation sous forme de chaîne de l’objet spécifié. | Object | ||
Renvoie la valeur primitive de l’objet spécifié. | Object |
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.
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ètresgenerator:Class (default = null ) — Classe utilisée par la méthode newInstance() pour la création d’objets à partir de cet objet de fabrique.
|
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.
* — Nouvelle instance ayant été créée.
|
Tue Jun 12 2018, 09:30 AM Z