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

// Класс VirtualPet package zoo { internal class VirtualPet { internal var petName = «Unnamed Pet»;

public function VirtualPet (name) { }

}

}

// Класс VirtualZoo package zoo { public class VirtualZoo { public function VirtualZoo ( ) { var pet = new VirtualPetC’Stan»):

}

}

}

Теперь, после того как мы ознакомились с процессом применения переменных в выражениях, параметр name может быть использован для присвоения значения Stan переменной экземпляра petName нового объекта VirtualPet.

Как нам уже известно, чтобы присвоить новое значение переменной экземпляра, используется следующий обобщенный код:

объект. переменнаяЭкземпляра = значение

В соответствии с этим кодом, чтобы присвоить значение переменной, сначала необходимо указать объект. В данном случае таким объектом является создаваемый экземпляр класса VirtualPet. Для обращения к нему используется ключевое слово this — автоматически передаваемый параметр, значением которого является создаваемый объект.

_j$_

йЪь щ В теле метода-конструктора создаваемый объект называется текущим. Для обращения ¦г? Л к нему применяется ключевое слово this.

После ключевого слова this ставится точка, а затем указывается имя переменной экземпляра, которой необходимо присвоить значение, — в данном случае petName.

this. petName

После чего ставится знак равенства и указывается значение, которое должно быть присвоено переменной экземпляра:

this. petName = value

В нашем случае присваиваемым значением является значение параметра name. Таким образом, вместо слова value просто подставляется имя параметра name:

this. petName = name

На этапе выполнения среда Flash (в которой выполняется программа) заменит параметр name из предыдущего кода значением, переданным конструктору класса VirtualPet. Это значение впоследствии будет присвоено переменной экземпляра petName.

Код класса VirtualPet с внесенными изменениями выглядит следующим образом:

package zoo { internal class VirtualPet { internal var petName = «Unnamed Pet»;

public function VirtualPet (name) { this. petName = name;

}

}

}

Теперь, когда значение переменной экземпляра petName присваивается в конструкторе класса VirtualPet, ненужное исходное значение Unnamed Pet, указанное в описании переменной petName, может быть удалено. Описание переменной petName до настоящего момента выглядело следующим образом:

internal var petName = «Unnamed Pet»;

После изменений описание этой переменной примет следующий вид (обратите внимание на отсутствие инициализатора переменной):

package zoo { internal class VirtualPet { internal var petName;

}

public function VirtualPet (name) { this. petName = name;

}

Выражение, которое используется для присваивания значения переменной, например this. petName = name, называется выражением присваивания. В качестве знака равенства в таких выражениях применяется оператор, называемый оператором присваивания.

Копии и ссылки. В предыдущем разделе был описан процесс присваивания значения одной переменной другой. В частности, переменной экземпляра petName было присвоено значение параметра name. Вот этот код:

this. petName = name;

Результат присваивания значения одной переменной другой зависит от типа присваиваемого значения.

В случаях, когда значением переменной-источника в выражении присваивания является экземпляр класса String, Boolean, Number, int или uint, среда выполнения создает копию этого значения и присваивает созданную копию целевой переменной. После окончания процедуры присваивания в системной памяти образуются две независимые версии исходного значения — само исходное значение и его копия. Переменная-источник указывает, или ссылается, на первоначальное значение в памяти. Целевая переменная ссылается на новое значение в памяти.

В других случаях, когда значением переменной-источника в выражении присваивания выступает экземпляр пользовательского класса или экземпляр предопределенного класса языка ActionScript, за исключением классов String, Boolean, Number, int или uint, программа связывает вторую переменную непосредственно со значением первой. После присваивания в памяти будет существовать только одна копия значения, на которую будут ссылаться обе переменные. В подобной ситуации говорят, что переменные совместно используют ссылку на один объект в памяти. Очевидно, что изменения, вносимые в объект через первую переменную, будут доступны и для второй переменной. Например, рассмотрим код, в котором создаются две локальные переменные — а и Ь, после чего значение переменной а присваивается переменной Ь.

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

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

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

Полезные ссылки
Случайные записи
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.20
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.11
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 039
  • 20.07.2010">Распространенные недочеты веб-дизайнеров
  • 17.07.2010">Подбор цветовой гаммы
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.64
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 064
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.47
  • 24.02.2011">Руководство по actionscript. часть 6, стр. 112
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 123
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.17
  • 28.02.2011">Руководство по actionscript. часть 6, стр. 015
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 076
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 055
  • 03.04.2010">Туториалы по Illustrator
Опрос

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

View Results

Loading ... Loading ...