![]() |
Создание произвольного количества экземпляров класса
Добрый день!
Допустим у меня есть класс MyClass и класс MnogoKlassov. Как мне в классе myClass создать произвольное количество экземпляров класса MnogoKlassov. Количество классов и их имена буду подгружать через php из базы данных, каждый раз количество и имена могут меняться. Допустим, я загрузил ответ от php, получил массив с именами классов, пусть будет namesArray. Пишу: Код AS3:
Подскажите, пожалуйста, как решить данную проблему. P.S. Прошу прощения за может быть где-то не правильную терминологию, начал переходить на AS3 три недели назад. |
Вы путаете "имя класса" и "имя переменной". Если вы хотите динамически создавать переменные с указанными именами, то ИМХО у вас не правильно организована структура приложения.
А вообще почитайте про динамические (dynamic) классы. |
|
Большое спасибо за быстрые ответ. Заработало. Догадывался что нужно делать класс динамическим, но,
скажу вам по секрету, пусть это и смешно, я писал "dinamic" вместо "dynamic" и не понимал почему не подсвечивается средой разработки)) Мне просто надо было внимательнее читать книгу Мука. |
не используйте dynamic, это очень плохо с точки зрения ООП и последующей поддержки. Объявите массив и сожите объекты туда. А на себя сделайте addchild. Лежать(грфически) они будут на вашем объекте а ссылки на них будуте хранить в массиве и управлять ими оттуда.
|
Цитата:
|
Тем же, чем и нетипизированные переменные (по сути они и создаются). Ну и на ровном месте +размер и, возможно, тормоза у класса.
Тут возможно поможет ассоциативный массив (ака Object для AS3). Или даже просто массива хватит. |
Тем что код не является самодокументированным и множество проверок типов которые можно делать при компиляции уходят в рантайм. Это катастрофически медленно в исполнении, и очень тяжело дебажить.
Добавлено через 5 минут я пишу очень большие и сложные проекты на AS3 и ещё ни в одном у меня не было даже мысли сделать dynamic или объявить нетипизированный object или *. Это наследие ECMAscript и я его не люблю. Я люблю строгую типизацию. Может потому что первым языком на котором я начал писать что-то существенное был C++ |
Aquahawk, вот так? Я вас правильно понял?
Код AS3:
|
да именно так
Добавлено через 1 минуту используйте форматирование, пожалуйста. |
Цитата:
|
| Часовой пояс GMT +4, время: 15:03. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.