При чтении книги К.Мука возник вопрос.
На стр.56 приведен такой код:

Код AS3:
package zoo
{
public class VirtualZoo
{
public function VirtualZoo()
{
var pet = new VirtualPet;
pet.petName = "Stan";
}
}
}
А вот сообственно класс VirtualPet

Код AS3:
package zoo
{
internal class VirtualPet
{
var petName = "Unnamed Pet";
}
}
Я так понял, что при создании очередного объекта переменной экземпляра petName присваивается Stan, т.е. все животные будут иметь имена Stan.
А в чем же собственно отличие предыдущего кода от кода описанного ниже ?

Код AS3:
package zoo
{
public class VirtualZoo
{
public function VirtualZoo()
{
var pet = new VirtualPet("Stan");
}
}
}
Класс VirtualPet

Код AS3:
package zoo
{
internal class VirtualPet
{
internal var petName;
public function VirtualPet(name)
{
this.petName = name;
}
}
}
Но ведь получается тоже самое, что и код описанный выше. Т.е. создается объект в конструкторе класса VirtualZoo аргумент объекта передается в качестве знач-я параметру метода-конструктора VirtualPet, а параметр конструктора присваивается переменной экземпляра. Из этого следует, что все объекты будут иметь имена Stan.