ArrayAccess

Не помню уже было ли что-то подобное в AS. Может и было, просто я не пользовался.
Понадобилось сделать доступ к элементам некого списка, являющегося закрытым свойством класса, через его экземпляр и квадратные скобки. Решение оказалось очень простым...

Например, есть у меня класс PlayerList содержащий функционал списка игроков и хранящий этот самый список в одном из своих полей - в массиве players :Array.
Чтобы брать игроков из этого списка, например, по очереди через myPlayerList [n] достаточно просто добавить классу реализацию интерфейса ArrayAccess и метод _resolve с любым необходимым функционалом.

class PlayerList implements ArrayAccess<Player> {
  // ...
  public function __resolve (n :Int) :Player {
    return players[n];
  }
}