Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 31.07.2009, 02:26
wer32 вне форума Посмотреть профиль Отправить личное сообщение для wer32 Найти все сообщения от wer32
  № 1  
Ответить с цитированием
wer32
 
Аватар для wer32

Регистрация: Dec 2008
Сообщений: 88
По умолчанию Есть ли разница в оформлении кода?

сабж

Код AS3:
package{
     class A{
           private var testVar:Array;
 
           public function A(){
                  testVar = new Array();
           }
     }
}
Код AS3:
package{
     class A{
           private var testVar:Array = new Array();
 
           public function A(){
           }
     }
}
кто как использует? Есть ли разница?

Старый 31.07.2009, 05:38
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 2  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Разницы нету, инициалицация нестатичечких переменных класса все-равно осуществляеться в конструкторе...


Последний раз редактировалось alekslitvinenk; 31.07.2009 в 05:41.
Старый 31.07.2009, 09:55
bebop вне форума Посмотреть профиль Отправить личное сообщение для bebop Найти все сообщения от bebop
  № 3  
Ответить с цитированием
bebop
 
Аватар для bebop

Регистрация: Dec 2006
Адрес: Novosibirsk
Сообщений: 93
А у меня была разница, как ни странно. В игре были какие-то совершенно непонятные баги из-за использования второго варианта, пришлось от него отказаться.

Или что, приглючилось?

UPD: А, да, точно. Это был AS2.


Последний раз редактировалось bebop; 31.07.2009 в 10:11.
Старый 31.07.2009, 10:04
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 4  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
В AS2 - при компиляции mtasc'ом второй вариант точно не прокатывал - именно для сложных типов данных.
В AS3 - не знаю, но создаю всегда в конструкторе новые переменные - так удобнее.
__________________
Стой! Опасная зона! Работа мозга!

Старый 31.07.2009, 12:01
Geba вне форума Посмотреть профиль Отправить личное сообщение для Geba Найти все сообщения от Geba
  № 5  
Ответить с цитированием
Geba
 
Аватар для Geba

Регистрация: May 2009
Адрес: Москва
Сообщений: 21
Отправить сообщение для Geba с помощью ICQ Отправить сообщение для Geba с помощью Skype™
А я оформляю согласно Flex SDK coding conventions and best practices, перевод здесь, а там сказано, что
Цитата:
If a variable needs to be initialized to a non-default value, do this in the declaration, not in the constructor.
То есть инициализировать переменные при объявлении, а не в конструкторе. Плюс в случае объявления массивов следует указывать их тип в комменте, например в Вашем случае
Код AS3:
private var testVar:Array/* of Number */ = [];

Старый 31.07.2009, 13:25
Snut вне форума Посмотреть профиль Отправить личное сообщение для Snut Посетить домашнюю страницу Snut Найти все сообщения от Snut
  № 6  
Ответить с цитированием
Snut
 
Аватар для Snut

Регистрация: Jun 2005
Адрес: Москва
Сообщений: 489
Отправить сообщение для Snut с помощью ICQ Отправить сообщение для Snut с помощью MSN Отправить сообщение для Snut с помощью Skype™
Код AS3:
private var testVar:Array/* of Number */ = [];
а если у меня там разные вещи могут быть?) чего писать? /*something*/ ?))
__________________
Работаю

Старый 31.07.2009, 13:42
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 7  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Я пишу /*of Object*/ или /*of Object(MyType1,MyType2)*/, если известно все, что может быть в массиве.
__________________
4am is time to rock

Старый 31.07.2009, 14:12
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от bebop Посмотреть сообщение
UPD: А, да, точно. Это был AS2.
В AS2 баг был с этим связанный. Насколько я помню, если объявлять массив или объект вне конструктора, и затем изменять значение массива из какого-то экземпляра, то он в прототипе менялся. Не создавалась копия массива.

upd: не объявлять, в смысле, а присваивать начальное значение.


Последний раз редактировалось udaaff; 31.07.2009 в 14:21.
Старый 31.07.2009, 14:16
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 9  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
опа, а я всегда везде первый вариант использую....но по-моему все равботает, как я задумывал....мне первый вариант кажется более удобным и понятным....а сейчас выходит, что типа не правильно?

Старый 31.07.2009, 14:20
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Цитата:
Сообщение от AlexDesinger Посмотреть сообщение
опа, а я всегда везде первый вариант использую....но по-моему все равботает, как я задумывал....мне первый вариант кажется более удобным и понятным....а сейчас выходит, что типа не правильно?
В AS2 первый вариант использовать надо.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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