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

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

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
По умолчанию Отличие создания глобальной переменной от инициализации

Существует ли разница между созданием глобальных переменных при объявлении и созданием в теле функции?
За исключением момента присвоения значения.

Например:
Код AS3:
package {
 
	public class Main extends Sprite {
 
		private var _myVariable:Sprite = new Sprite();	//создаём сразу при объявлении
		private var _myString:String = "";		//создаём сразу при объявлении
 
		public function AnyFunction() {
 
 
		}
	}
}
Код AS3:
package {
 
	public class Main extends Sprite {
 
		private var _myVariable:Sprite;
		private var _myString:String;
 
		public function AnyFunction() {
			_myVariable = new Sprite();	//создаём в теле функции
			_myString= "";			//создаём в теле функции
		}
	}
}
__________________
Нормально делай — нормально будет!

Старый 17.04.2011, 01:24
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Существует. первое как заявляет адоба работает быстрее. Ну а по факту, подумайте сами, удобнее же объявлять сразу ( если это возможно ), чем потом.
__________________
Марк Tween

Старый 17.04.2011, 02:35
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 3  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Речь идёт о создании экземпляров строчкой объявления или перенос присвоения в конструктор?
Для сложных типов разницы нет, при компиляции они переносятся в конструктор. Для простых есть.

in4core, тема мне тоже интересна. Где можно прочитать, что там Адоуб пишет?

Старый 17.04.2011, 02:37
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 4  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
in4core , ты не совсем правильно понял вопрос

Adobe, Мук и прочие орильевцы создают только простые переменные (int, boolean, String, и т.п.), а экземпляры не простых создают в функциях (new Sprite(), new Timer(100,500), и т.п.).
В чём разница, почему не наоборот?

UPD:
Psycho Tiger, про сложные понял, а с простыми в чём отличие?
__________________
Нормально делай — нормально будет!


Последний раз редактировалось tsarapkabel; 17.04.2011 в 02:40.
Старый 17.04.2011, 03:10
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
in4core, тема мне тоже интересна. Где можно прочитать, что там Адоуб пишет?
Поищите по форуму, эта тема где то обсуждалась, кто то об этом писал, сказал с его* слов
__________________
Марк Tween

Старый 17.04.2011, 12:36
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Цитата:
Psycho Tiger, про сложные понял, а с простыми в чём отличие?
В байткоде их объявление происходит где-то вне конструктора. Я не особо искал где, но я так и не нашел.
Денис подсказывает: "простые из таблиц берутся"

Старый 17.04.2011, 12:36
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 7  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
В байткоде их объявление происходит где-то вне конструктора. Я не особо искал где, но я так и не нашел.
Из таблиц ABC.

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

Регистрация: Aug 2010
Сообщений: 86
tsarapkabel, никакой разницы между двумя блоками кода, вообще. Это эквиваленты. Просто в первом, создание и инициация происходит в инициализаторе класса, а во втором - создание в инициализаторе класса, а инициация в методе-конструкторе.

Логически, ни в скорости ни в каком-то эфимерном качестве не должно быть разницы.

Старый 17.04.2011, 15:03
tsarapkabel вне форума Посмотреть профиль Отправить личное сообщение для tsarapkabel Найти все сообщения от tsarapkabel
  № 9  
Ответить с цитированием
tsarapkabel
 
Аватар для tsarapkabel

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Спасибо большое, вопрос исчерпан!
__________________
Нормально делай — нормально будет!

Старый 17.04.2011, 15:27
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 10  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
А по феншую (читай стилю)? Ну кто как делает обыкновенно?
__________________
Поймай яблоко 2!

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

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

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


 


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


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