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

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

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

Регистрация: Jun 2004
Адрес: Киев
Сообщений: 4
Отправить сообщение для kruss555 с помощью ICQ
По умолчанию actionscript2 - создание массива экземпляров класса в классе

Помогите разрешить простую на первый взгляд задачку: есть класс А и класс B. Необходимо в классе B бьявить массив экземпляров класса А. Классы находятся в директории lib. Ниже привожу листинги. Укажите мне где я ошибаюсь

Класс А:
Код:
class lib.A
{	
	private var myNumber:Number;
	
	public function A( n:Number ){	
	    myNumber = n;
	}
	public function traceOk():Void{	
	       trace(myNumber);
	}
}
Класс B:
Код:
import lib.A

class lib.B
{	
	private var myA = new Array({new A()});

	public function B(){
		for(var i=0;i<5;i++){
			myA.push(i);
			myA[i].traceOk();
		}
	}
}
Вызывающий код:
Код:
import lib.A
import lib.B

var b_test:B = new B();
__________________
http://www.KRUSS.org.ua

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

Регистрация: Sep 2002
Сообщений: 30,787
Вне методов класса идёт только объявление переменной и её типа, new Array там никаких быть не должно.

Код:
import lib.A;

class lib.B {
    private var myA:Array;
    public function B() {
        this.myA = new Array();
        for (var i:Number = 0;i<5;i++) {
            var temp:A = new A(i);
            temp.traceOk();
            this.myA.push(temp);
        }
    }
}
Код:
import lib.B;
var b:B = new B();

Старый 21.01.2007, 14:05
kruss555 вне форума Посмотреть профиль Отправить личное сообщение для kruss555 Найти все сообщения от kruss555
  № 3  
Ответить с цитированием
kruss555

Регистрация: Jun 2004
Адрес: Киев
Сообщений: 4
Отправить сообщение для kruss555 с помощью ICQ
Спасибо огромное!
Проверил - работает!
И сразу вопрос - это всё хозяйство можно ведь использовать для формирования удобного 2-мерного массива? Типа b[i][j] ?
__________________
http://www.KRUSS.org.ua

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

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

Старый 21.01.2007, 14:21
kruss555 вне форума Посмотреть профиль Отправить личное сообщение для kruss555 Найти все сообщения от kruss555
  № 5  
Ответить с цитированием
kruss555

Регистрация: Jun 2004
Адрес: Киев
Сообщений: 4
Отправить сообщение для kruss555 с помощью ICQ
Цитата:
Сообщение от __etc
Можно, только зачем? Для двумерного массива и нужно использовать двумерный массив.
Вот например один из известных мне методов формирования 2мерного массива:

Код:
var L = 3;
var mainArr = new Array(L);
for(var i=0;i<L;i++){
  mainArr[i] = new Array(L);
  for(j=0;j<L;j++){
  mainArr[i][j] = ................;
  }
}
Но мне кажется, что это крайне неудобно, ведь я не всегда знаю размерность массива. А с помощью класса это удобно и быстрее, потому что не нужно будет в цикле обьялять переменные?
__________________
http://www.KRUSS.org.ua

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

Регистрация: Sep 2002
Сообщений: 30,787
С помощью класса получится тоже самое, только завуалировано, с кучей ссылок и промежуточных объектов.

Старый 21.01.2007, 14:30
kruss555 вне форума Посмотреть профиль Отправить личное сообщение для kruss555 Найти все сообщения от kruss555
  № 7  
Ответить с цитированием
kruss555

Регистрация: Jun 2004
Адрес: Киев
Сообщений: 4
Отправить сообщение для kruss555 с помощью ICQ
жаль ... Думал облегчить жизнь.
__________________
http://www.KRUSS.org.ua

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

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

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


 


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


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