Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   ActionScript3. Путь к Познанию. (http://www.flasher.ru/forum/showthread.php?t=145610)

semenyakinVS 14.10.2010 03:00

ActionScript3. Путь к Познанию.
 
Я знаю ООП в C++, C# и Java. Знаком с шаблонами проектирования (patterns). Теперь взялся за AS3.
Во Flash работаю шесть лет и неплохо ориентируюсь в AS1. С ООП в AS имел дело один раз год назад и на уровне “Hello, world”.

Сейчас решил взяться серьёзно и сразу возник ряд вопросов. Ленивым и растерянным советую сразу прочитать послесловие (обязательное) в конце. Остальным – советую прочитать вопросы.

Итак:
1. Какие виды классов есть в AS3 ? Есть ли в нём static и abstract-классы?
2. Есть ли во AS3 интерфейсы (abstract-классы без свойств) ?
3. Есть ли свойства (properties) - геттеры и сеттеры, которые можно использовать как переменные?
4. Как в AS3 реализована архитетура проекта? Можно ли писать несколько классов в одном файле? Как выглядит работа с пакетами?
5. Каким образом происходит интеграция внешнего класса с мувиками fla-документа?
6. Где находится точка входа в программу?
7. Какова особенность flash-проектов? Чем они отличаются от сделанной в ручную иерархии отношений.
8. Есть ли в AS3 перегруженные операторы и шаблоны (generic, class<>)?
9. Есть ли в AS3 делегаты (ссылки на функции, присеваемые событиям)?

Вопросы глупые и достойны ответа: «найди всё сам». Найду. Если не желаете отвечать – не надо.

КорДум 14.10.2010 08:31

Цитата:

1. Какие виды классов есть в AS3 ? Есть ли в нём static и abstract-классы?
2. Есть ли во AS3 интерфейсы (abstract-классы без свойств) ?
3. Есть ли свойства (properties) - геттеры и сеттеры, которые можно использовать как переменные?
Все три ДА. А на первый дополнение: есть еще динамические классы. Есть чудесная книга Колина Мука "ActionScript 3.0 для Flash. Подробное руководство", где как нельзя лучше показано это. Вам будет полезно почитать из-за особенностей синтаксиса.

!?" И да, мне лень форматировать свой ответ. И я ответил по делу. Здесь умеренная демократия в постах. "?!

Цитата:

По дороге к Познанию будут обсуждаться темы, затрагивающие многие другие области AS3.
Думаю, много ответов на ваши другие следующие вопросы содержатся в первых темах этого раздела и темах, которые можно отыскать в поиске.
Советую тему переименовать, здесь что-то такое неопределенное запрещено правилами форума.

Цитата:

Рано или поздно найду всё сам и выложу сюда.
Думаю, что такой формат работы будет интересен начинающим в AS3.
На форуме уже есть похожие темы-склады информации, они прикреплены сверху.

f.g.programmer 14.10.2010 08:52

Ответ на все эти вопросы тянет на большую статью, или маленькую книжку. Начинать действительно лучше с самостоятельного изучения основ.

А абстрактных классов (таких как в с++) в as3 нет, есть методики создания псевдо-абстрактных методов.

semenyakinVS 14.10.2010 13:12

КорДум спасибо за ответ на некоторые вопросы.

Цитата:

И да, мне лень форматировать свой ответ. И я ответил по делу. Здесь умеренная демократия в постах.
Ну и ладно. Я придумал такое оформления чтобы поиск по ответам можно было сделать более быстрый.
Если нет желания его соблюдать - не соблюдайте.

Цитата:

Советую тему переименовать, здесь что-то такое неопределенное запрещено правилами форума.
А как?

Цитата:

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

Добавлено через 29 минут
? Как можно сделать параметры в функциях константными (const) ?

Division 14.10.2010 13:49

Цитата:

Как можно сделать параметры в функциях константными (const)?
Никак. Все объекты передаются по ссылкам. Простые типы копируются. Передать по ссылке int тоже не получится.
Цитата:

5. Каким образом происходит интеграция внешнего класса с мувиками fla-документа?
FLA экспортится в SWC. SWC подключается к проекту, классы из него становятся доступны.
Цитата:

8. Есть ли в AS3 перегруженные операторы и шаблоны (generic, class<>)?
Нету
Цитата:

9. Есть ли в AS3 делегаты (ссылки на функции, присеваемые событиям)?
Ссылки на функции есть, система событий тоже есть.

inozemcev 14.10.2010 15:43

Цитата:
Код AS3:

6. Где находится точка входа в программу?

Создается класс обязательно расширяющий либо Sprite либо MovieClip (объект контейнер с разметкой типа canvas), на него уже вешается все остальное. Что касается design patterns то существует несколько высоко уровневых MVC фреймворков написанных на actionscript, у каждого своя методология но цели у всех общие отделить логику от модели данных и представления.
Я работаю с pureMVC + fabrication

Такой вопрос а зачем вам actionScript с вашим запасом? проще все тоже самое реализовывать на silverLight

КорДум 14.10.2010 15:58

Цитата:

7. Какова особенность flash-проектов? Чем они отличаются от сделанной в ручную иерархии отношений.
Что вы имеете в виду? Весь код программы представляет собой иерархию. Даже у тех, кто лепит все в один класс. Даже в синглтоне есть некая иерархия, напоминающая SADT с его обратными управлениями. В хорошем проекте классы с общими методами-свойствами наследуются от одного предка, у которого эти свойства и методы есть. Так что, as3 приятно похож на си, яву и прочие си-образные языки.

Psycho Tiger 14.10.2010 16:03

8. Типизированный массив, разве что. Vector.

semenyakinVS 16.10.2010 14:01

ответы
 
Спасибо всем, кто ответил.

Цитата:

Division: А абстрактных классов (таких как в с++) в as3 нет
Жаль. В моём случаи интерфейса не достаточно. В базовом классе нужны ещё и свойства.

Цитата:

Цитата:

...параметры в функциях константными (const)?
Division: Никак. Все объекты передаются по ссылкам.
Тоже жалко... Указание константного параметра в функции уточняет интерфейс функций.

Цитата:

Цитата:

…в AS3 перегруженные операторы и шаблоны (generic, class<>)?
Division: Нету
Тоже печально.
Но, вроде, я читал про следующую версию скрипотв – и там их обещают… Там вообще такое колдунство будет творится!

Цитата:

Цитата:

…в AS3 делегаты (ссылки на функции, присеваемые событиям)?
Division: Ссылки на функции есть, система событий тоже есть.
Спасибо. Уже посмотрел – понравилось. Очень удобная реализация.

Цитата:

КорДум отвечал на вопрос …особенность flash-проектов? Чем они отличаются от сделанной в ручную иерархии отношений.
Разобрался, и понял, что задал глупый вопрос. Но за ответ всё равно спасибо.

Цитата:

inozemcev:Я работаю с pureMVC + fabrication
Спасибо за наводку. Обязательно посмотрю.

Цитата:

inozemcev: Такой вопрос а зачем вам actionScript с вашим запасом? проще все тоже самое реализовывать на silverLight
Я не очень люблю приложения от microsoft. К тому же, как я успел понять, во flash куда удобнее интеграция с графикой. Да и событийная модель в нём мне понравилась.


Цитата:

Psycho Tiger отвечал на вопрос по generic: Типизированный массив, разве что. Vector.
Ясно. Тоже посмотрю. Спасибо.

Послесловие (информативное): КорДум, вы были правы. Соблюдать придуманные мной дурацкие ограничения на формат глупо. Сейчас уберу эту часть из первого поста.

gloomyBrain 16.10.2010 14:49

Цитата:

интерфейса не достаточно. В базовом классе нужны ещё и свойства
Для этого в интерфейсе можно задать get/set методы


Часовой пояс GMT +4, время: 05:06.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.