Имитация перегрузки в AS3
Иногда сталкиваясь с C# или C++, мне становится обидно что там есть полноценная перегрузка, и методов и операторов.
Целью было доказать возможность использования одинаковых имен у методов и переменных, вот что собственно и получилось. Кратенький пример:
package { import flash.display.Sprite; /** * ... * @author StrangeDK */ public class Toggle extends Sprite { private namespace Normal; private namespace Turbo; private var _mode:Namespace = Normal; Normal var _strength:int = 40; Normal var _health:int = 30; Normal var _speed:int = 16; Normal var _defence:int = 52; Turbo var _strength:int = 50; Turbo var _health:int = 38; Turbo var _speed:int = 26; Turbo var _defence:int = 57; public function get strength():int { return _mode::_strength; } public function get health():int { return _mode::_health; } public function get speed():int { return _mode::_speed; } public function get defence():int { return _mode::_defence; } public function normal():void { _mode = Normal; } public function turbo():void { _mode = Turbo; } } }
Всего комментариев 19
Комментарии
17.01.2013 17:04 | |
Тип данных не меняется.
|
17.01.2013 17:39 | |
Это не перегрузка, никто не спорит это эксперименты
ну и цель... вы помните) |
17.01.2013 18:08 | |
17.01.2013 19:35 | |
спор ради спора? давайте лично с вами закроем эту тему
|
17.01.2013 20:06 | |
Окей, окей, мне просто скучно. Кто-то балуется с namespace'ми, кто-то пишет бессмысленное ИМО в блоги =)
|
20.01.2013 03:37 | |
Перегружать операторы ещё и не секьюрно, как мне кажется. Пишешь значит a+b не заботясь о типах, а тут вам уже и метод подсунули.
|
23.01.2013 03:14 | |
23.01.2013 14:32 | |
Цитата:
Во всяких функциональных языках пошли ещё дальше
|
24.01.2013 14:59 | |
Я помню эту статью, кажется на Java. Туда впихнули всё возможное, что только можно было придумать. Хотя факториал вычисляется одной строкой.
По поводу перегрузки, конкретно операторов - дело же частное, если удобно то делай, и напиши конкретный JAVADOC например. Если оно себя не оправдывает, то конечно нет резона внедрять перегрузку. Здравый смысл ведь никто не отменял. |
|
Обновил(-а) strangedk 24.01.2013 в 18:32
|
Последние записи от strangedk
- Имитация перегрузки в AS3 (17.01.2013)