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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.01.2014, 20:46
es2 вне форума Посмотреть профиль Отправить личное сообщение для es2 Найти все сообщения от es2
  № 1  
Ответить с цитированием
es2
 
Аватар для es2

Регистрация: Jan 2014
Сообщений: 14
По умолчанию В чём отличие конструктора от прототипа?

Согласно флэшэвскому мануалу (в котором даётся довольно-таки скудное пояснение) :

Код:
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
prototype : Object
[статические] Ссылка на модель объекта класса или функции.
Поясните пожалуйста в каких случаях нужен конструктор, а в каких прототип?
Ведь, если я не ошибаюсь, конструктор - это то, что объявляется ключевым словом new,
а прототип - это то чему присваиваем конструктор? Мне думается, что логично было предположить, что это одно и тоже, но почему-то терзают меня смутные сомнения.

Помогите, пожалуйста, разобраться

Старый 26.01.2014, 01:41
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 2  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
Забудьте о prototype. За почти 5 лет программирования на AS3 он мне ни разу не понадобился.
Я не представляю, что с его помощью можно сделать такого, чего нельзя с помощью обычного ООП. Ну разве, что костыли какие-то...
__________________
сайт, vk

Старый 26.01.2014, 09:20
RonEXI вне форума Посмотреть профиль Отправить личное сообщение для RonEXI Найти все сообщения от RonEXI
  № 3  
Ответить с цитированием
RonEXI

Регистрация: Sep 2005
Сообщений: 85
prototype можно использовать для расширения функционала встроенных классов.
К примеру:
Код AS3:
Array.prototype.last = function():*{
   return this[this.length-1];
}
var a = new Array(1, 2, 3, 4, 5);
trace(a.last());
__________________
www.MegaLuckyPlay.com

Старый 26.01.2014, 14:17
olexandr вне форума Посмотреть профиль Отправить личное сообщение для olexandr Посетить домашнюю страницу olexandr Найти все сообщения от olexandr
  № 4  
Ответить с цитированием
olexandr
 
Аватар для olexandr

Регистрация: Aug 2007
Адрес: Ukraine, Kyiv
Сообщений: 643
Отправить сообщение для olexandr с помощью ICQ Отправить сообщение для olexandr с помощью MSN Отправить сообщение для olexandr с помощью Skype™
Цитата:
Сообщение от RonEXI Посмотреть сообщение
prototype можно использовать для расширения функционала встроенных классов.
К примеру:
Код AS3:
Array.prototype.last = function():*{ return this[this.length-1]; } var a = new Array(1, 2, 3, 4, 5); trace(a.last());
Я знаю, но ведь следуя ООП, эту функцию логичнее будет вынести в какой-нибуть класс и сделать ее статической к примеру. Либо унаследовать Array (если он позволяет это).
__________________
сайт, vk

Старый 26.01.2014, 15:50
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 5  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Даже если не позволяет всегда можно сделать композицию

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

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

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


 


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


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