Цитата:
|
А as MovieClip или MovieClip(...), выходит, расширяет функционал объекта.
|
Нет, не расширяет. Всего-лишь проверяет, подходит ли объект на роль (англ. casting — "кастинг", оператор as), то есть содержится ли эталонный тип в его цепочке наследования.
Цепочка наследования всегда представлена в описании класса в Хелпе
(например MovieClip › Sprite › DisplayObjectContainer › InteractiveObject › DisplayObject › EventDispatcher › Object).
Цитата:
|
я думал, оно ссылку на клип возвращает.
|
Вам надо разобраться, что такое переменная, что такое Тип данных, что такое Наследование.
Да, оно возвращает ссылку на клип. Куда же еще. Просто гарантирует, что Тип данных при этом — DisplayObject. Потому что "детьми" не могут быть объекты, не имеющие в своей цепочке наследования DisplayObject. Могут быть детьми объекты классов-наследников. Но метод не может возвращать какой-то из их типов, это слишком конкретно. Если он будет возвращать Спрайт например, то как быть с ТекстФилдами? Вас ведь не смущает, что метод addChild() принимает только DisplayObject, а Вы ни разу в жизни не создавали никаких DisplayObject-ов, и не задумываясь передаете в addChild() спрайты, мувиКлипы и текстфилды, и даже шейпы.