
Код AS3:
package {
import flash.display.Sprite;
import flash.utils.Dictionary;
public class Main extends Sprite {
private var _dic:Dictionary;
public function Main():void {
this._dic = new Dictionary();
this._dic[ExampleClass1] = new ExampleClass1();
this._dic[ExampleClass2] = new ExampleClass2();
this._dic[ExampleClass3] = new ExampleClass3();
test1();
test2();
test3();
}
public function test1():void {
(_dic[ExampleClass1] as ExampleClass1).test();
}
public function test2():void {
(_dic[ExampleClass2] as ExampleClass2).test();
}
public function test3():void {
(_dic[ExampleClass3] as ExampleClass3).test();
}
}
}
class ExampleClass1 {
public function test():void {
trace("obj1");
}
}
class ExampleClass2 {
public function test():void {
trace("obj2");
}
}
class ExampleClass3 {
public function test():void {
trace("obj3");
}
}
Добавлено через 3 минуты
Dictionary это таблица где ключами являются сами объекты, выражаясь в терминах низкоуровневых языков, ключом является адрес ключевого объекта, а значение тоже объект. Но поскольку в as класс представлен в рантайме в виде объекта типа Class то всё хорошо работает.
Добавлено через 5 минут
А хранить я вам предлагал не список в синглтоне, а вообще не делать список. Если у вас десять таких классов то сделать каждого из них синглтоном и пусть он сам себе ссылку на свой объект и хранит. Вообще без списка, нужен объект этого класса, у него и взяли.
Добавлено через 6 минут
но словарь лучше, больше возможности для расширения.