Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Спецы ООП подскажите (проблема с наследованием) (http://www.flasher.ru/forum/showthread.php?t=78758)

STILL.05 24.04.2006 14:40

Спецы ООП подскажите (проблема с наследованием)
 
class Still {
private var x0:Number = 100;
}
// *******************
var stl:Object = new Still();
trace(stl.x0);

Выводит 100! по идее свойство должно быть скрытым?
Интересная особенность если указать var stl:Still= new Still();
то свойство не видно, почему такая разница?

etc 24.04.2006 14:52

Потому что в твоей переменной, указанной, как Object нет приватной переменной x0, её никто приватной не делал.
Да и потом, после компиляции (если ролик всё-таки скомпилировался без ошибок) вся эта приватность теряется. Так что ничего удивительного тут нет.
Совсем иначе будет в AS3.

silin 24.04.2006 14:56

если тип не указан, то проверка(при компиляции) не выполняется..
зы: даже если указан свойство все равно видно : trace(stl["x0"])

etc 24.04.2006 14:57

Но лучше не обманывать компилятор, в будущем это встанет бооооооольшой проблемой

MyXus 24.04.2006 15:17

Цитата:

Совсем иначе будет в AS3
Интересно, а как это "будет"? Вот у меня стоит флэш 8-й, я юзаю классы. А где грань различия между AS-x ?

etc 24.04.2006 15:47

Ну если переменная приватная, она будет приватной и проверка её приватности будет работать не только на стадии компиляции, но и во время работы ролика. Правда, пойдут другие проблемы. Если у тебя не существует объект и ты к нему ссылаешься, то весь твой ролик рухнет и перестанет выполнятся. И понять, в чём дело, будет довольно сложно)

MyXus 24.04.2006 15:59

мда. грустно. но
1) компилятор то один и тот же? прально? значит и так и так все теперь пишут на АС3.
2) можно использовать токо паблики :-)
3) чтобы ролик не рухался использовать конструкторы-деструкторы и только методы класса..

etc 24.04.2006 16:02

"Пишут" это громко сказано. Пишут в Eclipse, компилят классы MTASC-ом в ролик и смотрят в Flash Player 8.5
А восьмой флеш почти не используется (разве что для первоначальной компиляции пары строк в самом ролике)
Нет ещё родного компилятора в AS3

silin 24.04.2006 16:02

Цитата:

Сообщение от ETC
Если у тебя не существует объект и ты к нему ссылаешься, то весь твой ролик рухнет и перестанет выполнятся...

примерчик можно ?

etc 24.04.2006 16:04

silin, к сожалению, нет.
Лучше у Antares-а спросите, я несколько далёк от написания классов на AS3


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

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