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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.12.2006, 16:59
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 11  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
__etc, ну сам понимаешь, что это не дело

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

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
Цитата:
Сообщение от __etc
Мммм, конструктор не является функцией…
Щас поковыряюсь, но что-то затык.

Можно, конечно, поставить проверку на длину params и, если она равна единице, то брать внутренний массив.
Возможно, это недоделка компилятора, потому что в AS2 apply к конструктору вполне применим.
А в Flash 9 Alpha не пашет даже их пример из хелпа (использование альтернативного описания класса через функцию):
Цитата:
Advanced users may choose to use the function keyword instead of the class keyword to define a Function object that can be used as a template for creating objects. Such a function is called a constructor function because you can use it in conjunction with the new operator to create objects. If you use the function keyword to create a constructor function, its prototype object is assigned a property named constructor that holds a reference to the constructor function. If you then use the constructor function to create an object, the object inherits the constructor property from the constructor function's prototype object. For example, the following code creates a new constructor function, f, and an object named myF:
Код:
  function f() {}
  trace(f.prototype.constructor);      // function Function() {}
  trace(f.prototype.constructor == f); // true
  var myF = new f();
  trace(myF.constructor == f);         // true
__________________
Верить никому нельзя. Мне - можно. :)

Старый 05.12.2006, 17:15
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 13  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Dendroid, там две модели наследования — прототипная и ещё какая-то (по дефолту). Как включить прототипную — хз.

Конструтор в AS3 не является функцией. Я даже пробовал getDefinitionByName, без результатно, правда.

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

Регистрация: Dec 1999
Адрес: Магадан
Сообщений: 763
С другой стороны, constructor является writeable, и его можно переопределить ещё до создания экземпляра класса. Можно что-нибудь по этому поводу подумать... Не знаю, поможет или нет, не пробовал ещё...
__________________
Верить никому нельзя. Мне - можно. :)

Старый 06.12.2006, 01:39
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 15  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
У меня возникла некоторая мысль, что можно в конструкторе вызывать что-то типа
Код:
var args:Array = [arg1,arg2];
args = args.concat(params);
this.init.apply(this,args);
а в методе… А в методе хз, что, что-то типа:
Код:
var returnClass:AnyClass = new AnyClass();
var args:Array = [arg1,arg2];
args = args.concat(params);
returnClass.init.apply(returnClass,args);
return returnClass;
Типа того

Старый 06.12.2006, 03:37
barby вне форума Посмотреть профиль Отправить личное сообщение для barby Найти все сообщения от barby
  № 16  
Ответить с цитированием
barby
[+3 25.12.2006]
 
Аватар для barby

Регистрация: Feb 2006
Сообщений: 68
Отправить сообщение для barby с помощью ICQ Отправить сообщение для barby с помощью Skype™
Люди, а объясните практическую сторону этой проблемы: для чего это и когда надо?

Старый 06.12.2006, 03:54
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 17  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Прочитай первый пост

Старый 06.12.2006, 15:47
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 18  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
__etc, ну тогда проще заюзать один unshift только вот с методом у меня проблем нету мне конструктор интересен.

пытался делать MyClass.prototype.constructor.call но у конструктора нефига нет никаких методов.

Старый 21.12.2006, 14:07
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 19  
Ответить с цитированием
WindWalker
[+1 18.03.08]

Регистрация: Nov 2006
Сообщений: 223
Чисто на шару говорю первую пришедшую в голову мысль.
Никакой ответственности за ней не несу

А если вместо apply поставить call ?

Старый 21.12.2006, 15:45
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 20  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
WindWalker, call написан выше

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

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

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


 


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


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