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

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

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

Полезные ссылки
Случайные записи
  • 20.03.2011">Руководство по actionscript. часть 2, стр. 080
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.123
  • 23.07.2011">Животные рисунки
  • 01.03.2011">Руководство по actionscript. часть 5, стр. 127
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 083
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.31
  • 23.07.2011">Дизайнеры помогут преобразить любое жилье
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 139
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.22
  • 18.02.2011">Вырезание объекта с помощью фильтра в Photoshop
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 007
  • 03.12.2012">Где расслабиться после работы?
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.78
  • 10.08.2011">Торгуйте на Forex вместе с платформой MetaTrader 4
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.87
Опрос

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

View Results

Loading ... Loading ...