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

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

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
По умолчанию Магические :Vector.<BitmapData>

Здравствуйте.
Поделитесь опытом в магических для меня записей вида
Код AS3:
var bitmapDatasOpen:Vector.<BitmapData> = new Vector.<BitmapData>(1, true);
В чем прелесть и суть использования
Код AS3:
Class1.<Class2>
__________________
return this...

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
http://help.adobe.com/ru_RU/FlashPla.../3/Vector.html
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Прочитал, но толком не понял. Получается так что мы берем класс Vector и наследуем методы и свойства из базового класса который находиться в постфиксном синтаксисе? Если не сложно можете объяснить на пальцах.
Что к примеру нам даст запись вида
Код AS3:
 var v:Vector.<String>;
Как это понять, переменная v это вектор который содержит экземпляры String. На практике где это найболее логично использовать?
__________________
return this...

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Вектор в AS3 позволяет хранить в нем только объекты конкретного типа. То есть строчка
Код AS3:
var v:Vector.<String>;
Говорит о том, что тип объектов в этом векторе String. Если вы попытаетесь в него добавить объект класса VasyaPupkin, то возникнет рантайм ошибка.
Или если попытаетесь в
Код AS3:
var v:Vector.<Number>;
воткнуть строку.
Это все очень похоже на Vector и ArrayList в java

На практике это логично использовать при хранении списка объектов конкретного класса. Например информацию об игроках в игровой области. Мы знаем, что все объекты, находящиеся в таком векторе являются объектами класса, допустим, Player или наследуют этот класс. То есть потом не возникнет проблем несоответствия типов при вытаскивании из вектора какого-либо объекта

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Вектор это типизарованый массив. То есть эта запись гворит о том, что масив может содержать только строки.
Вообще, предполагалось, что вектор быстрее обычного массива. Но это не всегда так.
Чтобы IDE выдавала подсказки по объектам находящимся в простом массиве, можно и ему преписать тип:
Код AS3:
var array:Array/*String*/ = [];
Цитата:
Это все очень похоже на Vector и ArrayList в java
Какой еще Vector в джаве?

Старый 05.03.2013, 12:59
yasha005 вне форума Посмотреть профиль Отправить личное сообщение для yasha005 Найти все сообщения от yasha005
  № 6  
Ответить с цитированием
yasha005
[+1 16.03.13]
[+1 22.03.13]

Регистрация: Dec 2012
Сообщений: 100
Вектор - это тот же массив, за той лишь разницей, что у вектора тип его элементов определён заранее.

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

Регистрация: Sep 2001
Адрес: Харьков
Сообщений: 305
Отправить сообщение для Александр Мостовой с помощью ICQ Отправить сообщение для Александр Мостовой с помощью Skype™
Прелесть использования типизированного массива в
1. Значительно выше скорость обработки. Очень полезно, например при работе с бинарными данными вроде JPEGEncoding
2. Удобство разработки в том что известен тип данных элеменна. Нет необходимости кастить


Код AS3:
var elements:Vector.<MyClass>;
...
var value:String = elements[i].myProp
вместо
Код AS3:
var elements:Vector.<MyClass>;
...
var element:MyClass = elsements[i] as MyClass;
var value:String = element.myProp
Строгая типизация данных, сужение возможных значений до минимального и достаточного - это один из основных принципов программирования значительно облегчающих задачу для разработки серьезных структур. Эта мысль не всегда очевидна и на примере небольших скриптов может показаться, что строгая типизация - это излишество и неуодоство. "Ведь намного удобнее, когда я могу положить в массив любой тип данных". Но такой подход заблуждение, которое становится заметным при написании больших проектов
__________________
...

Старый 05.03.2013, 13:06
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 8  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
1. Значительно выше скорость обработки. Очень полезно, например при работе с бинарными данными вроде JPEGEncoding
Пруф в студию. На счет значительно более высокой скорости вопрос спорный. Разница есть, но в основном она не особо значительна.
Цитата:
2. Удобство разработки в том что известен тип данных элеменна. Нет необходимости кастить
Обычному массиву тоже можно преписать тип и ничего не кастить
Код AS3:
var array:Array/*MyClass*/ = [];
var element:MyClass = array[i];

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

Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
Записей в блоге: 1
Отправить сообщение для AlexCooper с помощью ICQ Отправить сообщение для AlexCooper с помощью Skype™
Большое спасибо всем кто ответили. Как говориться век живи век учись и определённо жаль что раньше не уделил особого внимания изучению этого вопроса.
__________________
return this...

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

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Цитата:
Какой еще Vector в джаве?
Вот
Цитата:
Обычному массиву тоже можно преписать тип и ничего не кастить
Код AS3:
var array:Array/*MyClass*/ = [];
var element:MyClass = array[i];
Это лишь подсказка для IDE (и то не все ее поддерживают). А в массиве может лежать все что угодно, и в run-time флешка упадет. В то время если использовать Vector, то компилятор не скомпилит, и покажет ошибку.
__________________
http://www.chessmax.ru

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

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

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


 


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


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