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

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

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

Регистрация: Sep 2009
Сообщений: 2
По умолчанию как использовать массив в другом классе?

Доброе время суток.

есть класс A, в котором описан метод создания массива array с тремя элементами.
Есть класс B, в котором вызывается этот метод.

и есть вопрос - как лучше вызвать метод array в классе B и как в этом же классе использовать элементы созданного массива?

получается вызывать этот метод (trace подтверждает вызов и создание всех трёх элементов), но к примеру код trace(array[1]) выводит undefined. так вот подскажите пожалуйста, как это ипсравить?

и ещё, для этой операции класс B должен расширять класс A, верно?

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

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Вас непонятно.

Старый 03.09.2009, 21:22
evg1605 вне форума Посмотреть профиль Отправить личное сообщение для evg1605 Найти все сообщения от evg1605
  № 3  
Ответить с цитированием
evg1605

Регистрация: Sep 2009
Сообщений: 17
Чо то запутал.
Код можно посмотреть
__________________
http://www.***********

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Если я правильно понял:
Если расширять класс - то да, только свойства должны быть не private.
Если не расширять - достаточно передать ссылку.
Если array - это метод, то почему вы обращаетесь к нему как к массиву?
Если он возвращает массив, и нужно получить первый элемент, то:
Код AS1/AS2:
array()[1];

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

Регистрация: Feb 2008
Адрес: Москва
Сообщений: 238
Отправить сообщение для dsQuadro с помощью ICQ
Цитата:
Если не расширять - достаточно передать ссылку.
это как сделать?

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

Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
это как сделать?

Код AS3:
public function setArray(linkToArray:Array):void {
    this.array = linkToArray;
}
__________________
#flasher@irc.trg.ru:6667

Старый 04.09.2009, 12:44
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 7  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Метод класса А создаёт массив и возвращает ссылку на него.
Класс В вызывает этот метод и получает ссылку на созданный массив, после чего может с ним работать.
__________________
тонкий тролль, осеянный благодатью

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

Регистрация: Sep 2009
Сообщений: 2
и правда коряво задал вопрос. попробую уточнить)

в классе А есть метод (лучше назову его CreateArray чтобы не было путаницы), описывающий создание массива array с тремя рэндом числами.
класс Б должен вызвать метод CreateArray и использовать его элементы. так как массив представляет собой рэндом числа то крайне важно использовать единожды созданные элементы...
пожалуйста, приведите пример части кода из класса Б, чтобы он вызывал метод CreateArray и, для наглядности, трейсил к примеру первый элемент массива array.


мне кажется это будет делаться аналогичным образом но всётаки лучше упомяну... метод CreateArray описывает создание трёх массивов по три рэндом элемента:int в каждом и для меня важно иметь возможность оперировать каждым элементом по отдельности каждого из массивов в других классах... трудности, повторяю, вызывает вызов метода и вывод элемента

Добавлено через 1 минуту
хм, спасибо... попробую)

public function setArray(linkToArray:Array):void {
this.array = linkToArray;
}

-а это, простите за глупый вопрос, в каком классе должно находиться? в А или в Б?

Добавлено через 28 минут
про ссылки совсем не понял... как сделать чтобы метод класса А вернул ссылку на созданный массив? и как класс Б после вызова метода должен получить ссылку на созданный массив?

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

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Внутри класса А:
Код AS3:
public function createArray():Array{
    return [Math.random(), Math.random(), Math.random()];
}//createArray
Внутри класса В:
Код AS3:
var a:A = new A();
var randomArray:Array = a.createArray();
trace(randomArray[0]);
__________________
тонкий тролль, осеянный благодатью

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

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

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


 


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


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