Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   тип экземпляра подгружаемого класса (http://www.flasher.ru/forum/showthread.php?t=138330)

Zebestov 05.04.2010 06:58

тип экземпляра подгружаемого класса
 
ну не знаю я как еще можно обозначить вопрос. суть:

MyClass extends Sprite implements IMyClass

я этот класс подгружаю отдельно в основной код.
когда надо создать экземпляр этого класса, я просто тупо смотрю, как он чаще будет использоваться. если как спрайт:

var myObj:Sprite = new (ApplicationDomain.currentDomain.getDefinition('MyClass'));

а если как IMyClass:

var myObj:IMyClass = new (ApplicationDomain.currentDomain.getDefinition('MyClass'));

и потом просто в большинстве случаев удобно работаю с экземпляром напрямую, а в меньшинстве случаев использую приведение (myObj as ...)
так правильно? или всегда предпочтителен/обязателен лишь один вариант?
бо я, если честно, с интерфейсами совсем новичок еще :quiet:

Psycho Tiger 05.04.2010 14:10

Ну, можно в интерфейс забить вообще методы от спрайта, но это извращение.
А так вообще лучше перекастуйте 2 раза и используйте то, что нужно в данный момент, а не кастуя каждый раз ради "меньшинства".

Zebestov 05.04.2010 16:03

Цитата:

Сообщение от Psycho Tiger (Сообщение 898105)
А так вообще лучше перекастуйте 2 раза и используйте то, что нужно в данный момент, а не кастуя каждый раз ради "меньшинства".

а можно примером? бо шота я не понял как это :confused:

Wolsh 05.04.2010 17:14

Код AS3:

var a:Sprite = someObj as Sprite;
var b:IMyClass = someObj as IMyClass;
a.addChild(button);
var c:Profile = b.getProfileByID(12);
a.x = a.y = 50;
b.showProfilePhoto(c);

))))))

Zebestov 05.04.2010 19:56

а-ха. будем применять — спасибо всем!


Часовой пояс GMT +4, время: 01:15.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.