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

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

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

Регистрация: Nov 2010
Сообщений: 430
Question массив объектов в объекте

Здравствуйте.
Подскажите, может ли объект содержать в себе массив таких же объектов?
Например:

Код AS3:
public class Row extends Sprite {
		var rows:Vector.<Row> = new Vector.<Row>;
...

Старый 21.11.2011, 13:27
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Конечно может

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

Регистрация: Oct 2010
Адрес: Харьков
Сообщений: 616
Записей в блоге: 1
Отправить сообщение для strangedk с помощью ICQ Отправить сообщение для strangedk с помощью Skype™
Не совсем ясно зачем такая конструкция. Вы же понимаете что каждый объект в массиве тоже будет содержать в себе такой-же массив - вам точно именно это нужно?

Что мешает объявить класс Row Отдельно, а массив объявить допустим в классе Column ?
__________________
adobe AS3 manual

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

Регистрация: Nov 2010
Сообщений: 430
Цитата:
Сообщение от strangedk Посмотреть сообщение
Не совсем ясно зачем такая конструкция. Вы же понимаете что каждый объект в массиве тоже будет содержать в себе такой-же массив - вам точно именно это нужно?

Что мешает объявить класс Row Отдельно, а массив объявить допустим в классе Column ?
Например, есть некоторое количество строк, у каждой строки есть подстрока или несколько, и у каждой подстроки есть подстрока или несколько и так до N, но это самое N — неизвестно, точнее задается пользователем.
Или я в неверном направлении мыслю?

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

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Решается добавлением у подстроки значения parent, которое будет указывать на родителя, ну а дальше
Код AS3:
this.parent.parent ....
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

блогер
Регистрация: Nov 2007
Адрес: Киев
Сообщений: 557
Записей в блоге: 2
Конечно может. И у автора нормальное решение, что вам не нравится, ребята?

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

Регистрация: Sep 2002
Сообщений: 30,787
Может, но не может их создавать в конструкторе.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Ну от массива чайлдов тоже нет смысла отказыватся. Паттерн Composite в общем то не запрещает ни того, ни другого. Другое дело - что тут бы неплохо подошла бы ленивая инициализация - когда массив создается при первой попытке добавить подстроку. При таком раскладе накладные расходы по памяти будут минимальны. Ну и ссылка на родительскую строку тоже никогда не помешает

etc опередил =)
__________________
...вселенская грусть

Старый 21.11.2011, 18:12
tofflife вне форума Посмотреть профиль Отправить личное сообщение для tofflife Найти все сообщения от tofflife
  № 9  
Ответить с цитированием
tofflife

Регистрация: Jul 2009
Сообщений: 95
У автора правильное решение.
Единственное, если вам производительность дороже качества кода, не используйте vector - он очень медленный. Лучше в таком случае Array.

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от tofflife Посмотреть сообщение
не используйте vector - он очень медленный.
Откуда такая информация?

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

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

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


 


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


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