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

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

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

Полезные ссылки
Случайные записи
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.107
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.111
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.113
  • 20.03.2011">Советы web-дизайнеру
  • 03.09.2011">Parental Skype Recorder
  • 17.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.5
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 040
  • 18.08.2012">Apple назвала условия урегулирования министерства юстиции несправедливыми
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.35
  • 06.08.2011">Сайты знакомств помогают соединять сердца
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 066
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 052
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.125
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.165
  • 16.03.2011">Руководство по actionscript. часть 3, стр. 017
Опрос

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

View Results

Loading ... Loading ...