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

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

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

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

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

}

}

}

Как и раньше, первая строка конструктора из предыдущего кода создает объект класса VirtualPet и присваивает его переменной экземпляра pet. Однако вторая строка метода-конструктора из предыдущего кода создает еще один объект класса VirtualPet и тоже присваивает его переменной экземпляра pet. Вторая операция присваивания заменяет первое значение переменной pet (то есть животное с именем Stan) новым значением (то есть животным с именем Tim). Как результат, объект VirtualPet с именем Stan считается недостижимым и становится доступным для сборки мусора. Стоит отметить, что, если бы мы присвоили переменной pet значение null (или любое другое допустимое значение), как показано в следующем коде, объект VirtualPet с именем Stan также оказался бы недостижимым: pet = null;

Наконец, рассмотрим следующую версию класса VirtualZoo, в которой определены две переменные экземпляра petl и pet2:

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

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

public function VirtualZoo ( ) { petl = new VirtualPetC’Stan»); pet2 = petl; petl = nul1; pet2 — nul1;

}

}

}

Как и раньше, первая строка конструктора из предыдущего кода создает объект класса VirtualPet; для удобства назовем его «Stan». Кроме того, первая строка присваивает объект «Stan» переменной petl. Затем вторая строка присваивает тот же объект переменной экземпляра pet2. После выполнения второй строки конструктора и перед выполнением третьей строки программа может обратиться

к объекту «Stan» как через переменную petl, так и через переменную pet2, поэтому данный объект недоступен для сборки мусора. Третья строка заменяет значение переменной petl значением null, так что объект «Stan» оказывается недоступен через эту переменную. Тем не менее к объекту 11 Stan» по-прежнему можно обратиться через переменную pet2, поэтому данный объект все еще недоступен для сборки мусора. Наконец, четвертая строка заменяет значение переменной pet2 значением null. Как результат, к объекту «Stan» больше нельзя обратиться через какую-либо переменную. «Бедный» объект «Stan» оказывается недостижимым и официально становится доступным для сборки мусора.

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

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

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

Полезные ссылки
Случайные записи
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 084
  • 23.11.2018">Игровой автомат The Invisible Man в Граф казино
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 010
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.78
  • 05.04.2010">Дизайн для вдохновения
  • 24.02.2011">Руководство по actionscript. часть 7, стр. 011
  • 12.03.2011">Руководство по actionscript. часть 3, стр. 142
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 096
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 066
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.14
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.167
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 028
  • 24.02.2011">Руководство по actionscript. часть 7, стр. 004
  • 13.08.2011">Видеокапча защитит сайт от ботов
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 054
Опрос

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

View Results

Loading ... Loading ...