![]() |
Предок не приводится к наследнику. Почему?
Хочу расширить Array. Почитал Мука, посмотрел хелп. Сделал так:
Код AS3:
Код AS3:
и в чем разница ... as MyArray и MyArray (...) ? |
Код AS3:
Код AS3:
Код AS3:
Добавлено через 5 минут Цитата:
например если сделаешь вот так: Код AS3:
Код:
1. [null, null, 2, 3]Код AS3:
Код:
1. [null, null, 2, 3] |
Спасибо за помощь!
Немного переделал, теперь у меня так: Код AS3:
|
Простите, а с чего массив должен реализовывать методы, объявленные в его наследнике? Вы пишете var arr:MyArray = new Array(). Array не наследует поведение MyArray, в то время как MyArray поведение Array — наследует. Следовательно, вот так будет работать: var arr:Array = new MyArray(); а так: var arr:MyArray = new Array() — нет.
|
Простите, а с чего массив должен реализовывать методы, объявленные в его наследнике?
Ну, я подумал, а почему бы за кулисами при приведении массива к моему массиву автоматом не прикручивались бы дополнительные методы. Ведь переменных экземпляра я не объявлял. |
Код AS3:
|
Потому, что нельзя
Потому, что это противоречит концепции ООП. Предок в принципе не может приводиться к наследнику. А сделать так, как вы желаете нельзя.
Код AS3:
|
Код AS3:
Код AS3:
|
Цитата:
Код AS3:
Цитата:
Добавлено через 10 минут Цитата:
|
Цитата:
|
| Часовой пояс GMT +4, время: 21:40. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.