Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
mx.core 

ClassFactory  - AS3 Flex

Пакетmx.core
Классpublic class ClassFactory
НаследованиеClassFactory Inheritance Object
Реализует IFactory
Подклассы ButtonBarButtonClassFactory, ContextualClassFactory

Язык версии: ActionScript 3.0
Версия продукта: Flex 3
Версии среды выполнения: Flash Player 9, AIR 1.1

Экземпляр типа ClassFactory является «объектом фабрики», который Flex использует для создания нескольких экземпляров другого класса с идентичными свойствами.

Класс generator определяется при создании объекта фабрики. Далее устанавливается свойство properties для объекта фабрики. В программе Flex используется объект фабрики для создания экземпляров путем вызова метода newInstance() объекта фабрики.

Метод newInstance() создает новый экземпляр класса generator и устанавливает свойства, определенные properties в новом экземпляре. При необходимости дальнейшей настройки созданных экземпляров можно отменить метод newInstance().

Класс ClassFactory реализует интерфейс IFactory. Поэтому это позволяет создавать объекты, которые могут быть назначены для свойств типа IFactory, таких как свойство itemRenderer элемента управления List или свойство itemEditor элемента управления DataGrid.

Например, предположим, что записан класс с именем ProductRenderer, содержащий свойство showProductImage, которое может быть true или false. Чтобы элементом управления List использовалось средство визуализации, а каждым средством визуализации отображалось изображения продукта, необходимо создать следующий код:

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

Элемент управления List вызывает метод newInstance() в itemRenderer для создания индивидуальных экземпляров ProductRenderer, каждый из которых имеет свойство showProductImage, установленное на true. Если необходимо, чтобы другим элементом управления List опускались изображения продукта, требуется использовать класс ProductRenderer для создания другого ClassFactory со свойством properties, установленным на значение { showProductImage: false }.

Использование свойства properties для настройки экземпляров станет эффективным, как только появится возможность использования одного класса генератора разными способами. Однако, как правило, создаются ненастраиваемые классы генератора, для которых не требуется установка свойств. Поэтому MXML позволяет использовать следующий синтаксис:

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

Компилятор MXML автоматически создает экземпляр ClassFactory.

Связанные элементы API



Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  generator : Class
Объект Class, используемый методом newInstance() для создания объектов из данного объекта фабрики.
ClassFactory
  properties : Object = null
Объект, пары «имя – значение» которого определяют свойства, устанавливаемые для каждого объекта, который создается методом newInstance().
ClassFactory
Общедоступные методы
 МетодОпределено
  
ClassFactory(generator:Class = null)
Конструктор.
ClassFactory
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
  
Создает новый экземпляр класса generator со свойствами, указанными в объекте properties.
ClassFactory
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве

generator

свойство
public var generator:Class

Язык версии: ActionScript 3.0
Версия продукта: Flex 3
Версии среды выполнения: Flash Player 9, AIR 1.1

Объект Class, используемый методом newInstance() для создания объектов из данного объекта фабрики.

properties

свойство 
public var properties:Object = null

Язык версии: ActionScript 3.0
Версия продукта: Flex 3
Версии среды выполнения: Flash Player 9, AIR 1.1

Объект, пары «имя – значение» которого определяют свойства, устанавливаемые для каждого объекта, который создается методом newInstance().

Например, при установке свойства properties на { text: Hello, width: 100 } свойство text каждого экземпляра класса generator, создаваемого путем вызова newInstance(), будет установлено на значение Hello и width на 100.

Значением по умолчанию является null.

Сведения о конструкторе

ClassFactory

()Конструктор
public function ClassFactory(generator:Class = null)

Язык версии: ActionScript 3.0
Версия продукта: Flex 3
Версии среды выполнения: Flash Player 9, AIR 1.1

Конструктор.

Параметры
generator:Class (default = null) — Объект Class, используемый методом newInstance() для создания объектов из данного объекта фабрики.
Сведения о методе

newInstance

()метод
public function newInstance():*

Язык версии: ActionScript 3.0
Версия продукта: Flex 3
Версии среды выполнения: Flash Player 9, AIR 1.1

Создает новый экземпляр класса generator со свойствами, указанными в объекте properties.

Этот метод реализует метод newInstance() интерфейса IFactory.

Возвращает
* — Новый созданный экземпляр.




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.