Пакет | mx.core |
Класс | public class ClassFactory |
Наследование | ClassFactory Object |
Реализует | IFactory |
Подклассы | ButtonBarButtonClassFactory, ContextualClassFactory |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Класс 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
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
generator : Class
Объект Class, используемый методом newInstance() для создания объектов из данного объекта фабрики. | ClassFactory | ||
properties : Object = null
Объект, пары «имя – значение» которого определяют свойства, устанавливаемые для каждого объекта, который создается методом newInstance(). | ClassFactory |
Метод | Определено | ||
---|---|---|---|
ClassFactory(generator:Class = null)
Конструктор. | ClassFactory | ||
Показывает, определено ли заданное свойство для объекта. | Object | ||
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра. | Object | ||
newInstance():*
Создает новый экземпляр класса generator со свойствами, указанными в объекте properties. | ClassFactory | ||
Показывает наличие заданного свойства и его перечисляемость. | Object | ||
Задает доступность динамического свойства для операций цикла. | Object | ||
Возвращает строковое представление этого объекта, отформатированного в соответствии со стандартами, принятыми для данной локали. | Object | ||
Возвращает строковое представление заданного объекта. | Object | ||
Возвращает элементарное значение заданного объекта. | 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.
* — Новый созданный экземпляр.
|
Tue Jun 12 2018, 11:34 AM Z