![]() |
virtual, перегрузка и наследование - есть ли в AS3?
помогите плизз разобраться а то в манах не понял нифига как делать:
вопрос раз про наследование классов и конструктор с параметрами: Код AS3:
Код AS3:
Код AS3:
|
1. Конструктор родителя вызывается через super()
Код AS3:
Код AS3:
Код AS3:
3. Перегрузки в AS3 нет. Можно пометить параметры как необязательные и нетипизированные, и в зависимости от реально переданного типа внутри метода определить нужное поведение. |
1.
Код AS3:
3. Ооп-верной перегрузки (с изменением сигнатуры функции) тоже вроде нету, можно обойти ее передав Object и определять типы внутри функции и/или заюзать неопределенное количество входных параметров. Если в чем-то не прав, сильно не бейте. :) |
Цитата:
|
Цитата:
Цитата:
чистовиртуальные функции задать не получится. используйте интерфейсы - аналог абстрактных классов в c++ |
В AS3 есть всего 2 объекта которые позволяют форсировать их уничтожение: BitmapData.dispose() и Loader.unloadAndStop() [доступно только в 10м плеере]. Все остальные объекты самостоятельно вы удалить не можете.
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
вопрос в догонку - можно ли для класса operator [], operarot + и пр. замутить?
в манах синтаксиса не нашел |
Цитата:
Во-вторых, нельзя. |
Для динамических можно переопределить delete, [], @, ., in, each (т.е. можно переопределить что класс будет делать когда вы пытаетесь удалить свойство / метод, обратиться к свойству / методу (не принципиально, используя скобки или точку), обратится к аттрибуту, обратится к следующему свойству, обратится к следующему индексу. А математические операторы, битовые и булевые переопределить нельзя. Хотя, иногда, если очень хочется, то с помощью toString() можно добиться похожего функционала, но оно того явно не стоит :)
|
не подскажите синтаксис оператора [] для произвольного класса?
|
Цитата:
Цитата:
Цитата:
|
Цитата:
operator <<, operator + и т.д. По-моему разобрался по ходу написания поста :) |
Цитата:
и нужен оператор [] |
Цитата:
|
просто замените в коде вызов [] на вызов getProp(). Читабельность от этого не испортится)
|
Цитата:
было: Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 10:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.