|
|
|||||
Зачем нужен кастинг ?
Здраствуйте. Объясните мне пожалуйста, зачем нужен кастинг ? Да да, именно зачем, а не что это такое. Проблемы как таковой нет, но есть здоровый интерес. Вот к примеру написал:
package { import flash.display.Sprite; import flash.text.TextField; import flash.events.Event; import flash.events.MouseEvent; public class RootClass extends Sprite { private var txt:TextField; public function RootClass() { stage.addEventListener("click", onStageClick); } public function onStageClick(event:MouseEvent) { txt = new TextField(); txt.type = "input"; txt.x = event.stageX; txt.y = event.stageY; txt.addEventListener("added", onTxtAdded); addChild(txt); } public function onTxtAdded(event:Event) { trace(event.target); stage.focus = event.target as TextField; } } } |
|
|||||
стервочка (я мужик)
|
трэйс выдаёт то, что выдаёт метод toString()
|
|
|||||
Цитата:
|
|
|||||
стервочка (я мужик)
|
ну если это понятно, тогда зачем так яро обращено внимание в вопросе на этот факт?
кастинг нужен для того, что бы виртуальная машина не обращалась к объекту за списком классов и не искала в нём нужный класс. в случаи с методами/свойствами идёт ещё обращение к таблице методов всех классов, и поиск в ней нужного метода, потом попытка найти в динамических свойствах и т.д. короче, Вы делает работу за ВМ, тем самым упрощая ей жизнь. |
|
|||||
Вот теперь понятно, большое спасибо BlooDHounD, а то меня начинал напрягать этот вопрос.
|
|
|||||
Прикольно, а я думал, что даункасты не нужны. Т.е. использование собственно типа как id типа это всегда фейл.
|
|
|||||
стервочка (я мужик)
|
GAIKER, в интернете.
Smrad, а даункасты и не нужны. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Не каждый Object есть TextField.
|
Часовой пояс GMT +4, время: 13:51. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|