2012-02-29

Overload (перегрузка) посредством Namespace в ActionScript

Снова лирическое отступление или мне начинает казаться, что я пишу мемуары, а не статьи о программировании...

Давным-давно, когда я только начал зарабатывать, я купил себе мобильный телефон. Выбирал специально с поддержкой установки Java-приложений (да-да, в те времена были и с зашитыми играми, впрочем, и сейчас такие модели изредка встречаются), чтобы можно было под него писать программы. Выбора на тот момент у меня особого не было и я погрузился в высокоуровневый и, на мой взгляд, хорошо организованный мир Java Mobile Edition.

После Delphi и Visual Basic писать на Java было приятней, язык оказался плотно завязан на ООП (то есть о функциональном программировании и речи быть не могло). Здесь все удобно получалось разложить по полочкам и, ввиду того, что стандартные интерфейсы, предоставляемые MIDP (mobile information device profile) меня не устроили, все элементы пользовательского интерфейса разрабатывались мною самостоятельно и описывались классами с наследованиями от базовых до конкретных представлений.

Сейчас, более плотно занявшись ActionScript, я понял, что мне не хватает некоторого функционала, что был в Java. Есть такое понятие "overloading" (перегрузка), то есть мы можем иметь сколь угодно много функций с одинаковым именем, но разными аргументами. Очень удобная и часто используемая мной фишка языка, к сожалению не присутствует в ActionScript, хотя могла бы существовать, ведь это язык со строгой типизацией. Зато в ActionScript есть "namespace", с помощью которых мы и попробуем организовать какое-то подобие overloading.

2012-02-24

Магические методы в ActionScript

Немного лирики

Оглядываясь на свой опыт разработки с использованием самых разных языков программирования, я для себя могу выделить более удобные для решения типовых задач и оптимальные по количеству кода. Не важно на что ориентирован язык, под типовыми задачами я подразумеваю, к примеру, различные операции с массивами, объектами, классами, переменными и т.д. и .т.п. В решении типовых задач задействуется богатство средств ООП языка программирования, явная или не явная типизация и весь тот синтаксический сахар, позволяющий сократить код с сохранением приемлемого уровня читабельности и др. и пр. Как показывает практика, один и тот же функционал с использованием различных языков может достаточно сильно отличаться по количеству кода. Так же привыкнув к возможностям одного языка, порой приходится искать подобную реализацию в другом.

Конкретней...