Вопрос про использование класса.
|
|
Gavolot | Дата: Понедельник, 06 Февраля 2012, 00:21 | Сообщение # 1 |
Последователь Тени
Сейчас нет на сайте
| Вот изучаю флэш уже третий день и пытаюсь разобраться вот в чем, я привык тестировать почти весь код, что предоставляют в книге. И там написали про класс, который расширяет класс Array, вот пытаюсь разобраться, в теории я все понял, но вот на практике не могу понять: Code package {
public class CustomArray extends Array { public static var arrayCountTotal:int = 0; public var arrayNumber:int; public function CustomArray() { arrayNumber = ++arrayCountTotal; } public function getArrayPosition():String { return ("Array " + arrayNumber + " of " + arrayCountTotal); } }
} Вот все как положено, создал обычный стандартный пакет, он подгрузился, задача вот в чем, там пишут что переменная arrayCountTotal отслеживает общее число экземпляров Объекта Array, ну я вроде создал пару Экземпляров Array, создал экхемпляр класса CustomArray назвал его Custom и пытался вызвать функцию так: trace(Custom.getArrayPosition()); Так как функция возвращает строку, я думал она должна вернуть мне колличество экземпляров массива, а оно чето возвращает мне Array 1 of 1 Может я что-то не так делаю. Я в теории вроде понял как это примерно должно работать, на практике я провалился))
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
Сообщение отредактировал Gavolot - Понедельник, 06 Февраля 2012, 00:22 |
|
| |
noTformaT | Дата: Понедельник, 06 Февраля 2012, 00:35 | Сообщение # 2 |
Ukrainian independent game developer
Сейчас нет на сайте
| CustomArray наследует в себе класс Array, тоесть расширяет его. У этого класса есть два свойства, публичное свойство arrayNumber, которое хранит в себе текущий номер массива, и публично статическое свойство arrayCountTotal, которое отвечает за количество экземплятор этого класса.
Есть два метода, сам конструктор, который во время создания устанавливает номер массива, и увеличивает общее количество объектов.
Второй метод - getArrayPosition, он возвщает инфомационную строку, в которой указан текущий номер массива, и общее количество объектов.
Вообще, код выще, это стремный быдло кодинг. Если это из книги, спали ее....
@noTformaT
|
|
| |
Gavolot | Дата: Понедельник, 06 Февраля 2012, 00:47 | Сообщение # 3 |
Последователь Тени
Сейчас нет на сайте
| Да книга же для изучения синтаксиса Action Script 3.0)) То что кодинг возможно и быдло это да, но мне нужно понять все основные принципы и держать в голове)
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |
noTformaT | Дата: Понедельник, 06 Февраля 2012, 00:56 | Сообщение # 4 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (Gavolot) Да книга же для изучения синтаксиса Action Script 3.0)) То что кодинг возможно и быдло это да, но мне нужно понять все основные принципы и держать в голове) книга треш... еще какой... На примере:
var customArray1:CustomArray = new CustomArray(); var customArray2:CustomArray = new CustomArray(); var customArray3:CustomArray = new CustomArray(); trace(customArray2.getArrayPosition());
выведет Array 2 of 2; Вроде бы все норм....
Но, если написать так:
var customArray1:CustomArray = new CustomArray(); CustomArray.arrayCountTotal = 2245; var customArray2:CustomArray = new CustomArray(); customArray2.arrayNumber = 999; var customArray3:CustomArray = new CustomArray(); trace(customArray2.getArrayPosition());
выведет Array 999 of 2245;
Как-то не очень адеквытный результат... а вывод trace(customArray3.getArrayPosition()); вернет уже такую фигню, что мало не покажется....
А что за книга. Ибо за такое надо убивать, особенно если это новичкам дают...
@noTformaT
|
|
| |
Gavolot | Дата: Понедельник, 06 Февраля 2012, 01:27 | Сообщение # 5 |
Последователь Тени
Сейчас нет на сайте
| Просто называется "программирование на Adobe Action Script 3.0 2008.pdf".
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |
noTformaT | Дата: Понедельник, 06 Февраля 2012, 01:30 | Сообщение # 6 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (Gavolot) Просто называется "программирование на Adobe Action Script 3.0 2008.pdf". это официальная пресса от адоб, ты точно правильно переписал код? просто открытые публичные свойства, как-то это странно. Завтра посмотрю что не так...
@noTformaT
|
|
| |
Gavolot | Дата: Понедельник, 06 Февраля 2012, 01:48 | Сообщение # 7 |
Последователь Тени
Сейчас нет на сайте
| Ахахаха я ща сделал проверку, и сделал все так: Code var Custom3:CustomArray = new CustomArray(); CustomArray.arrayCountTotal = 2000; var Custom4:CustomArray = new CustomArray(); Custom4.arrayNumber = 999; var Custom5:CustomArray = new CustomArray(); trace(Custom5.getArrayPosition()); И у меня выдало: Array 2002 of 2002)))Добавлено (06.02.2012, 01:48) --------------------------------------------- Кустом1 и кустом2 я удалил чуть не забыл.
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
|
|
| |