![]() |
как использовать массив в другом классе?
Доброе время суток.
есть класс A, в котором описан метод создания массива array с тремя элементами. Есть класс B, в котором вызывается этот метод. и есть вопрос - как лучше вызвать метод array в классе B и как в этом же классе использовать элементы созданного массива? получается вызывать этот метод (trace подтверждает вызов и создание всех трёх элементов), но к примеру код trace(array[1]) выводит undefined. так вот подскажите пожалуйста, как это ипсравить? и ещё, для этой операции класс B должен расширять класс A, верно? |
Вас непонятно.
|
Чо то запутал.
Код можно посмотреть |
Если я правильно понял:
Если расширять класс - то да, только свойства должны быть не private. Если не расширять - достаточно передать ссылку. Если array - это метод, то почему вы обращаетесь к нему как к массиву? Если он возвращает массив, и нужно получить первый элемент, то: Код AS1/AS2:
|
Цитата:
|
это как сделать?
Код AS3:
|
Метод класса А создаёт массив и возвращает ссылку на него.
Класс В вызывает этот метод и получает ссылку на созданный массив, после чего может с ним работать. |
и правда коряво задал вопрос. попробую уточнить)
в классе А есть метод (лучше назову его CreateArray чтобы не было путаницы), описывающий создание массива array с тремя рэндом числами. класс Б должен вызвать метод CreateArray и использовать его элементы. так как массив представляет собой рэндом числа то крайне важно использовать единожды созданные элементы... пожалуйста, приведите пример части кода из класса Б, чтобы он вызывал метод CreateArray и, для наглядности, трейсил к примеру первый элемент массива array. мне кажется это будет делаться аналогичным образом но всётаки лучше упомяну... метод CreateArray описывает создание трёх массивов по три рэндом элемента:int в каждом и для меня важно иметь возможность оперировать каждым элементом по отдельности каждого из массивов в других классах... трудности, повторяю, вызывает вызов метода и вывод элемента Добавлено через 1 минуту хм, спасибо... попробую) public function setArray(linkToArray:Array):void { this.array = linkToArray; } -а это, простите за глупый вопрос, в каком классе должно находиться? в А или в Б? Добавлено через 28 минут про ссылки совсем не понял... как сделать чтобы метод класса А вернул ссылку на созданный массив? и как класс Б после вызова метода должен получить ссылку на созданный массив? |
Внутри класса А:
Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 00:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.