![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2013
Адрес: Black Sea cost
Сообщений: 30
|
Начал изучать AS3 по книге Колина Мука.
В этом деле я начинаю абсолютно с нуля, не имея за собой никакого опыта в программировании. И, не знаю, у всех ли новичков, кто начинал с Мука, воспринималось так же, но для меня - книга дотошно оперирует кучами разных терминов. Большими кучами! Не дает сопоставить между собой элементарное, постоянно в этих терминах запутывая; не позволяя сосредоточится на том, что, собственно, сам-то код делает!. Поэтому, перечитывая по 5 раз (не преувеличиваю), одни и те же страницы, еле Помогите, пожалуйста, разобраться. Ибо книга не дает. Я выложу код и опишу, как я его понимаю, укажите, пожалуйста, на ошибки, если такие будут. Прошу прощения, если столько писанины осиливать напряжно, но узнать нужно именно это - деваться мне не куда. Посоветоваться, чтобы разобраться, не с кем. Сейчас такое дерево каталогов с файлами: VirtualZoo.as package zoo { public class VirtualZoo{ public function VirtualZoo ( ) { var pet = new VirtualPet("Stan"); } } } public class VirtualZoo{ -- Затем создаем класс, внутри этого пакета. "public" - в этом месте это, своего рода, тоже стандарт компилятора, дает понять, что этот класс - основной в "zoo". Оно и понятно - "public" в принципе делает класс доступным за пределами дериктории, в которой находится. "class" - задает класс "VirtualZoo" - несет имя точно совпадающее с регистром букв файла VirtualZoo.as (так нужно описывать каждый класс, если я правильно понял) public function VirtualZoo ( ) { -- Описываем функцию. "public" - опять же делает функцию общедоступной, даже ЗА пределами директории "zoo", "function" - описывает функцию, "VirtualZoo" - так мы назвали функцию... судя по всему, могли назвать как угодно, на совпадения с именами файла и основного класса это никак не влияет и какой-нибудь "главной" функцию не делает. var pet = new VirtualPet("Stan"); -- задаем значение функции, описанной в VirtualPet.as. "var" - мы задаем новую переменную "pet" - даем переменной имя "new" - указываем, что она новая (тут не понял, зачем, естественно, они все новые, объясните, пожалуйста) "VirtualPet("Stan")" - присваиваем значение name для функции VirtualPet, созданной в VirtualPet.as... судя по всему... VirtualPet.as package zoo { internal class VirtualPet{ internal var petName; public function VirtualPet (name){ this.petName = name; } } } internal class VirtualPet{ -- здесь мы прописываем класс уже "internal", давая понять, что это не основной класс и за пределами "zoo" он вызываться ничем не будет! Только внутренними классами. internal var petName; -- задаем переменную petName. Не совсем понял, почему internal. Судя по всему, потому, что планируем использовать ее в другом классе. однако тоже в пределах "zoo" public function VirtualPet (name){ -- объявляем функцию VirtualPet "public" - доступна везде "function" - описывает, что мы делаем функцию "VirtualPet (name)" - функция называется VirtualPet, а ее значение мы называем "name" (или это одно из значений, которое можно дать функции, не знаю, запутался) this.petName = name; -- ... "this" - книга говорит, что мы указываем на какой-то создаваемый экземпляр класса VirtualPet... затем говорит, что имелось ввиду, что мы указываем на создаваемый объект... какой объект и что имеет ввиду под этим объектом, не говорит. Функция - наш создаваемый объект? Или значение name... или класс имеется ввиду. "petName" - обращение к переменной petName, которую мы создали. "name;" - присваиваем petName значение name. А name'ом у нас является, вроде как "Stan". то есть теперь petName содержит слово "Stan" Последний раз редактировалось Jim; 31.03.2013 в 00:29. |
![]() |
Часовой пояс GMT +4, время: 19:35. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|