Главная » Создание сайта, раскрутка сайта

Разработка сайтов на Flash и ООП ActionScript

Разрабатывая сайт на Flash, вы можете заметить одну вещь: нигде не используется слово “class”. Это потому, что есть два различных способа реализации понятия классов, и все происходящие от ECMAScript языки, такие, как ActionScript, попадают под определенную категорию, называемую “языками на основе прототипов”. (Для сравнения Java и С++ попадают под категорию “языков на основе классов”).

Ну и что же это значит для разработчика веб-сайта на Flash? Это значит, что ActionScript не имеет специального ключевого слова для определения классов, но позволяет вам создавать специальные объекты, называемые прототипами, которые ведут себя точно как классы. Если эту идею применить к реальности, языки на основе прототипов создавали бы новых кошек клонированием, а языки на основе классов – следуя набору указаний, как построить сайт.

Факт, что ActionScript является языком на основе прототипов, может вызвать некую путаницу, особенно когда вы создаете ваши собственные классы. Это потому, что человеку неискушенному в разработке и программировании сайтов метод конструктора вашего класса покажется обычной старой функцией. На самом деле это и есть обычная старая функция; вы просто “соглашаетесь” использовать ее как конструктор.

Обратите внимание на использование ключевого слова this. Специальное ключевое с this ссылается на объект, внутри программы сайта, которого оно находится. Tаким образом, сказав: this.site = site;, все объекты, порожденные от прототипа Site, имеют свойство site с момента создания.

У создающих веб-сайты программистов Flash довольно распространена практика делать заглавной букву только у классов (а значит, и у конструкторов), а все остальные начинать со строчной. Это неофициальный стандарт, но большинство программистов его придерживается, так как это немного облегчает нахождение классов.

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

mySite = new Site(“ip”, “domain”);

И конечно, если бы у вас был другой сайт, вы могли бы создать другой объект:

myOtherSite = new site(“ip”, “domain”);

А теперь немного информации, которая поначалу может показаться сложной: просто определив в ActionScript метод конструктора Site, вы также создали новый объект с именем Site. Помните, что ActionScript – язык на основе прототипов, а объект прототипа есть объект, который действует как класс.

В отличие от других языков ООП (таких, как С++ и Java), объекты в ActionScript прекрасно модифицируются в любое время. То есть вы можете изменить почти любой объект, включая объекты прототипов, в любое время по вашему желанию. Вам придется заниматься такими изменениями , создания объекта прототипа, но, вообще говоря, манипуляции с объектом напрямую считаются плохой практикой с объектно-ориентированной точки зрения.

Добавить комментарий

Ваш комментарий появится после модерации.