Руководство по actionscript. часть 2, стр. 103

Например, рассмотрим следующую версию класса VirtualZoo из нашей программы «Зоопарк». Обратите внимание, что в этой версии объект VirtualPet, создаваемый в конструкторе класса VirtualZoo, не присваивается переменной.

package { import flash. display. Sprite; import zoo.*;

public class VirtualZoo extends Sprite { public function VirtualZoo ( ) { new VirtualPet(«Stan»);

}

При выполнении конструктора класса VirtualZoo из предыдущего кода выражение new VirtualPet («Stan») создает новый объект класса VirtualPet. Однако обратиться к объекту после его создания невозможно, поскольку он не был присвоен никакой переменной. Как результат, созданный объект считается недостижимым и сразу же становится доступным для сборки мусора.

Теперь рассмотрим следующую версию класса VirtualZoo. Особое внимание уделите телу метода-конструктора, выделенного полужирным шрифтом:

package { import flash. display. Sprite; import zoo.*;

public class VirtualZoo extends Sprite { public function VirtualZoo ( ) { var pet:Virtual Pet * new Virtual Pet(«Stan»);

}

}

}

Как и раньше, при выполнении конструктора класса VirtualZoo из предыдущего кода выражение new VirtualPet («Stan») создает новый объект класса VirtualPet. Однако на этот раз созданный объект класса VirtualPet присваивается локальной переменной pet. В конструкторе класса VirtualZoo к объекту Vi rtual Ре t можно обратиться через эту локальную переменную, поэтому данный объект недоступен для сборки мусора. Тем не менее, как только выполнение конструктора VirtualZoo будет завершено, время жизни переменной pet истечет и обратиться к объекту VirtualPet будет невозможно. Как результат, объект считается недостижимым и становится доступным для сборки мусора.

Далее рассмотрим следующую версию класса VirtualZoo:

package { import flash. display. Sprite; import zoo.*;

public class VirtualZoo extends Sprite { private var pet:Virtual Pet;

public function VirtualZoo ( ) { pet = new Virtual Pet(«Stan»);

}

}

}

При выполнении конструктора класса VirtualZoo из предыдущего кода выражение new VirtualPet («Stan») снова создает объект класса Virtual Pet. Однако на этот раз созданный объект Vi rtual Ре t присваивается переменной экземпляра основного класса программы. По существу, этот объект считается достижимым и поэтому недоступен для сборки мусора.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.4
  • 04.09.2011">MapleSim 5 – инструмент, позволяющий физически моделировать объекты
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 130
  • 28.02.2011">Руководство по actionscript. часть 5, стр. 139
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.51
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 088
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 017
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 061
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 063
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.17
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 132
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.95
  • 02.04.2012">Хакеры LulzSec Reborn рассказали о планах на будущее
  • 11.11.2012">Мини холодильная витрина и её виды
  • 12.09.2014">Помост на декоративном водоеме
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...