![]() |
как создать объект класса, имея его название в переменной?
Добрый день.
Хочу сделать фабрику объектов. Для этого я в функцию передаю строковую переменную "имя класса". Как бы мне внутри функции создать объект этого типа? Но чтобы не прописывать в функции 100500 кейсов вида "если 1, то создаем объект крестик" "если 2, то создаем объект нолик" Конструкцию Код AS3:
"Error #1007: Instantiation attempted on a non-constructor" Гуглинг продолжаю, но что-то не могу запрос чтоль составить нормальный =/ |
getDefinitionByName()
Добавлено через 2 минуты Но при этом имя класса должно быть полным, т.е. вместе с пакетом. А что вам мешает передавать сам класс? |
м.. что значит "передать класс"? Я подгружаю данные из XML. Там названия классов и координаты.
|
Ну, вы же об этом не упоминали.
|
Чертоффски криво выглядит. =(
Да и в XML теперь придется засовывать полное имя класса через getQualifiedClassName. Беда. |
Ну сделайте алиасы свои
типа Код AS3:
|
Цитата:
Тут два варианта или алиасы или полное имя. |
Если нельзя будет написать что-то типа
Код AS3:
Код AS3:
|
Цитата:
вместо Код AS3:
Код AS3:
Добавлено через 7 минут Цитата:
То есть. В XML делаю две секции: описание классов, и само содержимое. Загружая описание, я заполняю массив "string2Class" значениями. А вторую часть обрабатываю уже функцией "createClassByName". Затея такова, что мне совершенно не хочется переписывать методы загрузки/сохранения при дальнейшей модификации. |
Цитата:
Я бы рекомендовал закинуть все классы, создаваемые с помощью xml в один package. Можно ещё вбить руками список пэкэджей (если у вас ещё и стопицот пэкэджей, в которых могут быть эти классы то вам один хрен ничего не поможет) и искать классы по ним при первой встрече. |
| Часовой пояс GMT +4, время: 22:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.