Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 31.03.2013, 00:07
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 3  
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
"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 семантика та же. На второй страничке еще примерно нарисованно, что такое "объект" и что такое переменная.

Создать новую тему   Часовой пояс GMT +4, время: 17:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.