Цитата:
|
"VirtualZoo" - так мы назвали функцию... судя по всему, могли назвать как угодно, на совпадения с именами файла и основного класса это никак не влияет и какой-нибудь "главной" функцию не делает.
|
Нет, не все так просто. Если имя функции совпадает с именем класса, это не просто функция. Это конструктор, специальная функция. Вручную ее вызвать нельзя, она вызывается при создании нового экземпляра. "Экземпляр объекта" - такая область в памяти, упрощенно говоря. У него (лично у него) есть все переменные, объявленные на уровне класса. Можно создать несколько экземпляров (instances) одного класса, у каждого будет по своей переменной. Конструктор в AS3 должен быть public, это требование языка.
Цитата:
|
new" - указываем, что она новая (тут не понял, зачем, естественно, они все новые, объясните, пожалуйста)
|
Это не переменная новая. Это создается новый объект. У этого объекта есть своя переменная petName. Можно создавать новые объекты, не присваивая их переменной. Можно присваивать значения, не создавая объектов.

Код AS3:
var pet = new VirtualPet("Stan");
val samePet = pet;
Вот в данном случае samePet и pet "указывают" на один и тот же объект. Этим экземпляром можно "управлять" через любую из этих двух переменных. Причем переменные именно "указывают". При присванивании samePet другого объекта (ну например, samePet = new VirtualPet("Not Stan"), она просто будет указывать на другой объект, а "Stan" продолжить существовать дальше, пока на него будет кто-то указывать.
Цитата:
|
"VirtualPet (name)" - функция называется VirtualPet, а ее значение мы называем "name" (или это одно из значений, которое можно дать функции, не знаю, запутался)
|
Это не значения. Это парметры функции. Конкретно name называется "формальным параметром". Это нечто, что будет передано в фунцкию во время выполнения программы. А вот в вызове "Stan" называется фактическим параметром. Да, вы правильно понимаете, что во время выполнения конструктора name будет установлено в "Stan".
Цитата:
|
"this" - книга говорит, что мы указываем на какой-то создаваемый экземпляр класса VirtualPet... затем говорит, что имелось ввиду, что мы указываем на создаваемый объект... какой объект и что имеет ввиду под этим объектом, не говорит. Функция - наш создаваемый объект? Или значение name... или класс имеется ввиду.
|
Объект - это экземпляр класса (VirtualPet), которые создается оператором new. Во время выполнения конструктора объект уже выделен, у него есть своие переменные (та же petName), но они еще не иницализированы. У другого объекта (если сделать еще один new VirtualPet) будет своя (независимая от первого) переменная petName (изменяться значения бдуту по-разному).
В остальном более-менее правильно.
Добавлено через 6 минут
Если дружите с английским, посмотрите еще
это и
это. Там про java, но у AS3 семантика та же. На второй страничке еще примерно нарисованно, что такое "объект" и что такое переменная.