ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
mx.core 

ClassFactory  - AS3 Flex

Paketmx.core
Klassepublic class ClassFactory
VererbungClassFactory Inheritance Object
Implementiert IFactory
Unterklassen ButtonBarButtonClassFactory, ContextualClassFactory

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Eine ClassFactory-Instanz ist ein „Factory-Objekt“, das Flex zum Generieren von Instanzen einer anderen Klasse verwendet, wobei jede dieser Instanzen exakt dieselben Eigenschaften hat.

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



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : 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
Öffentliche Methoden
 MethodeDefiniert von
  
ClassFactory(generator:Class = null)
Konstruktor.
ClassFactory
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
Erstellt eine neue Instanz der generator-Klasse mit den durch „properties“ festgelegten Eigenschaften.
ClassFactory
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
Eigenschaftendetails

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.

Konstruktordetails

ClassFactory

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

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Konstruktor.

Parameter
generator:Class (default = null) — Die Klasse, die die newInstance()-Methode zur Erstellung von Objekten ausgehend von diesem Factory-Objekt verwendet.
Methodendetails

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.

Rückgabewerte
* — Die neu erstellte Instanz.




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.