Paket | mx.core |
Klasse | public class ClassFactory |
Vererbung | ClassFactory Object |
Implementiert | IFactory |
Unterklassen | ButtonBarButtonClassFactory, ContextualClassFactory |
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Sie geben eine generator
-Klasse an, wenn Sie das Factory-Objekt erstellen. Dann legen Sie die properties
-Eigenschaft des Factory-Objekts fest. Flex verwendet das Factory-Objekt, um Instanzen durch Aufrufen der newInstance()
-Methode des Factory-Objekts zu generieren.
Die newInstance()
-Methode erstellt eine neue Instanz der generator
-Klasse und legt die von properties
angegebenen Eigenschaften in der neuen Instanz fest. Wenn Sie die generierten Instanzen weiter anpassen müssen, können Sie die newInstance()
-Methode überschreiben.
Die ClassFactory-Klasse implementiert die IFactory-Schnittstelle. Mit dieser Schnittstelle können Sie daher Objekte erstellen, die Eigenschaften des Typs IFactory zugewiesen werden können. Dazu zählen beispielsweise die itemRenderer
-Eigenschaft eines List-Steuerelements oder die itemEditor
-Eigenschaft eines DataGrid-Steuerelements.
Sie können beispielsweise eine Elementrenderer-Klasse namens ProductRenderer mit der showProductImage
-Eigenschaft erstellen, die den Wert true
oder false
annehmen kann. Mit dem folgenden Code erstellen Sie ein List-Steuerelement mit diesem Renderer, wobei jede Renderer-Instanz ein Bild des Produkts anzeigt:
var productRenderer:ClassFactory = new ClassFactory(ProductRenderer); productRenderer.properties = { showProductImage: true }; myList.itemRenderer = productRenderer;
Das List-Steuerelement ruft die newInstance()
-Methode von itemRenderer
auf, um einzelne Instanzen von ProductRenderer zu erstellen. Dabei ist die showProductImage
-Eigenschaft für jede Instanz auf true
gesetzt. Wenn ein anderes List-Steuerelement keine Bilder des Produkts anzeigen soll, erstellen Sie mit der ProductRenderer-Klasse eine weitere ClassFactory, die dieproperties
-Eigenschaft { showProductImage: false }
hat.
Die Konfiguration von Instanzen mit der properties
-Eigenschaft kann äußerst leistungsfähig sein, da sie verschiedene Möglichkeiten zur Verwendung einer einzigen Generatorklasse erlaubt. Häufig werden jedoch nicht konfigurierbare Generatorklassen erstellt, für die keine Eigenschaften eingestellt werden müssen. Daher können Sie folgende Syntax in MXML verwenden:
<mx:List id="myList" itemRenderer="ProductRenderer">
Der MXML-Compiler erstellt die ClassFactory-Instanz automatisch.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
generator : Class
Die Klasse, die die newInstance()-Methode zur Erstellung von Objekten ausgehend von diesem Factory-Objekt verwendet. | ClassFactory | ||
properties : Object = null
Ein Objekt, dessen Name/Wert-Paare die Eigenschaften angeben, die für jedes von der newInstance()-Methode generierte Objekt festgelegt werden müssen. | ClassFactory |
Methode | Definiert von | ||
---|---|---|---|
ClassFactory(generator:Class = null)
Konstruktor. | ClassFactory | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
newInstance():*
Erstellt eine neue Instanz der generator-Klasse mit den durch „properties“ festgelegten Eigenschaften. | ClassFactory | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object |
generator | Eigenschaft |
public var generator:Class
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Die Klasse, die die newInstance()
-Methode zur Erstellung von Objekten ausgehend von diesem Factory-Objekt verwendet.
properties | Eigenschaft |
public var properties:Object = null
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Ein Objekt, dessen Name/Wert-Paare die Eigenschaften angeben, die für jedes von der newInstance()
-Methode generierte Objekt festgelegt werden müssen.
Wenn Sie beispielsweise properties
auf { text: "Hello", width: 100 }
setzen, dann wird für jede Instanz der generator
-Klasse, die durch Aufrufen von newInstance()
generiert wird, text
auf "Hello"
und width
auf 100
gesetzt.
Der Standardwert ist null.
ClassFactory | () | Konstruktor |
public function ClassFactory(generator:Class = null)
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Konstruktor.
Parametergenerator:Class (default = null ) — Die Klasse, die die newInstance() -Methode zur Erstellung von Objekten ausgehend von diesem Factory-Objekt verwendet.
|
newInstance | () | Methode |
public function newInstance():*
Sprachversion: | ActionScript 3.0 |
Produktversion: | Flex 3 |
Laufzeitversionen: | Flash Player 9, AIR 1.1 |
Erstellt eine neue Instanz der generator
-Klasse mit den durch properties
festgelegten Eigenschaften.
Diese Methode implementiert die newInstance()
-Methode der IFactory-Schnittstelle.
* — Die neu erstellte Instanz.
|
Tue Jun 12 2018, 10:04 AM Z