![]() |
Непонятное рядом. Это что , глюки флэша ? Проблеммы с геттером.
Вложений: 1
Есть три класса, наследуются друг от друга.
Код:
//класс AИ самое интересное, почему, если расскомментарить промежуточный геттер в классе B (что по логике вещей вообще не должно нарушить работу программы, флэш при компиляции выдаст ошибку) : Type mismatch in assignment statement: found Number where Function is required. super._width = w ps. в аттаче лежат эти 3 класса и флашник. |
После добавления сеттера в класс В ошибка пропала. Действительно, непонятное поведение - я вогнал в сеттеры дополнительные трейсы и получается, что после отработки сеттера кто-то коварно обращается к свойству - сразу же после сеттера срабатывает геттер... Чудны воды во облацех ))
|
а Вы посмотрите во что компилиться Ваш код, и сразу поймете :)
|
И во что?
|
getter | setter
Код:
// property valueКод:
function __get__value () { |
А зачем это, интересно - геттер в конец? Чтоб знать, что установилось?
|
Кстати вроде стало понятно, почему сеттер в конце дергает геттер.
Это для того , чтоб, например, работал следующиий код : trace( _width=5 ) , где _width - пропертя, на которую есть геттер и сеттер. Смысл в том, что после присвоения ( отработал сеттер ) в качестве параметря для trace вернется значение геттера. |
Кстати, вы замечали, что иногда блок кода вида
Код:
public function get _width():Number |
| Часовой пояс GMT +4, время: 06:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.