Руководство по 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

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

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

Полезные ссылки
Случайные записи
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 089
  • 14.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.71
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.132
  • 20.07.2011">Как не обмануться, выбирая CMS (часть 2)
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.31
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 025
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 128
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.79
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 021
  • 10.03.2011">Руководство по actionscript. часть 4, стр. 031
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.15
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 100
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.20
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 124
  • 26.02.2011">Руководство по actionscript. часть 6, стр. 072
Опрос

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

View Results

Loading ... Loading ...