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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 03.03.2008, 15:15
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 31  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от iNils
А причем тут AVM2, когда этот раздел AS1/AS2?
А что вы тогда понимали под движением вперед, если движение назад - это AS1? Неужто AS2 на той же самой AVM1?

Цитата:
Сообщение от __etc
Что непонятного? Создание какой-то левой нетипизированной функции внутри метода (конструктора), да ещё присвоение подобному нетипизированному объекту каких-либо свойтсв, которых в нем нет — это вы считаете нормальным?
Если нетипизированная - это еще не значит левая.
Если вы так же не можете подобрать пример, когда это нужно, это еще не значит, что это не нормально.


Последний раз редактировалось chingachgoog; 03.03.2008 в 15:22.
Старый 03.03.2008, 15:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 32  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от chingachgoog
Неужто AS2 на той же самой AVM1?
Представьте себе. AVM2 = AS3.

Старый 03.03.2008, 15:20
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 33  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Припыли.
AVM1 - это AS1/AS2
AVM2 - это AS3
В AS1 писали классы на прототипах, а AS2 это обертка над AS1, которая взяла на себя рутинную работу и основное отличие AS2 от AS1 это не типизация, и не поставленные при публикации AS2, а код во внешнем файле который начинается с class {}. Но методы у них абсолютно идентичные.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от chingachgoog
Если нетипизированная - это еще не значит левая.
Если вы так же не можете подобрать пример, когда это нужно, это еще не значит, что это не нормально.
Что нужно? Ваша писанина — не нужна. Помимо сложностей взаимодействия с локальной функцией подобного плана, она ещё жрет память и никак под ООП не тянет. А уж прицеплять свойства к подобной функции было модно в пятом флеше, для реализации псевдо-классов, которые тоже остались в AS2, но там это убожество хотя бы было убрано на уровень компилятора.

Старый 03.03.2008, 15:30
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 35  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от __etc
А в AVM2 вы вообще не можете пользоваться AS1.
Думаю вы поняли о чем я.

Цитата:
Сообщение от __etc
Если под AS1 вы подразумеваете писанину в кадрах (не версию языка), то эта самая писанина оставлена на откуп дизайнерам, которые знают только stop() и gotoAndPlay(). Нормальный разрабочик писать в кадрах код не будет
Нормальный разработчик сам решает где, когда и что он должен писать.
Теперь действительно, полноценный код в AVM2 не напишешь В СТИЛЕ AS1. Например, без создания классов.

Цитата:
Сообщение от __etc
Представьте себе. AVM2 = AS3.
Цитата:
Сообщение от iNils
Припыли.
AVM1 - это AS1/AS2
AVM2 - это AS3
В AS1 писали классы на прототипах, а AS2 это обертка над AS1, которая взяла на себя рутинную работу и основное отличие AS2 от AS1 это не типизация, и не поставленные при публикации AS2, а код во внешнем файле который начинается с class {}. Но методы у них абсолютно идентичные.
И я РОВНО о том же.
Так что же для вас, iNils является движением вперед, если вы не об AVM2 (=AS3), если AS2 - это лишь обертка под AS1?

add:
Цитата:
Сообщение от __etc
Что нужно? Ваша писанина — не нужна. Помимо сложностей взаимодействия с локальной функцией подобного плана, она ещё жрет память и никак под ООП не тянет.
Именно, то что такой код жрет память я и показывал.
Сложности взаимодействия тут нет - это быстрая иллюстрация класса, хотите напишите его в стиле AS2 по всем правилам и с типизацией. Дело не в этом было - прочитайте с начала. А как раз в том, что вовсе не обязательно всегда "тянуть на ООП", когда можно проще и быстрей сделать.

Цитата:
Сообщение от __etc
А уж прицеплять свойства к подобной функции было модно в пятом флеше, для реализации псевдо-классов, которые тоже остались в AS2, но там это убожество хотя бы было убрано на уровень компилятора.
Свойство к функции прицеплено, чтобы показать, что работает имеено копия функции, а не ее ссылка на прототип. Но если ПОДУМАТЬ, то вполне можно придумать для чего можно такое свойство использовать.


Последний раз редактировалось chingachgoog; 03.03.2008 в 15:44.
Старый 03.03.2008, 16:04
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 36  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Нормальный разработчик сам решает где, когда и что он должен писать.
Нормальный разработчик думает о возможных изменениях.
Цитата:
Так что же для вас, iNils является движением вперед, если вы не об AVM2 (=AS3), если AS2 - это лишь обертка под AS1?
Для меня движение вперед, это переход на AS3, а не "об AVM2 (=AS3)" это ограничение раздела, а не мое.
Цитата:
Сложности взаимодействия тут нет - это быстрая иллюстрация класса, хотите напишите его в стиле AS2 по всем правилам и с типизацией.
Какого класса? Ваш код должен тогда выглядить так
Код:
function A () {
	this.A;
}
A.prototype.val = 123;
A.prototype.test = function () {
	this.val = 456;
};
///
obj1 = new A ();
obj2 = new A ();
trace (obj1.val);
trace (obj2.val);
obj1.test ();
trace (obj1.val);
trace (obj2.val);
Выходит вы вообще не понимаете, что такое класс.
Цитата:
Но если ПОДУМАТЬ, то вполне можно придумать для чего можно такое свойство использовать.
Если ПОДУМАТЬ, то можно сделать по другому и правильно
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 03.03.2008, 16:42
chingachgoog вне форума Посмотреть профиль Найти все сообщения от chingachgoog
  № 37  
Ответить с цитированием
chingachgoog
Banned
[+4 01.02.09]
[+1 01.02.09]
 
Аватар для chingachgoog

блогер
Регистрация: Nov 2006
Адрес: Moscow
Сообщений: 2,145
Записей в блоге: 7
Цитата:
Сообщение от iNils
Нормальный разработчик думает о возможных изменениях.
Разумеется. И не вижу тут преграды для кода в кадрах. А собственно для любителей открывать еще один файл и в AS1 можно сохранять код вовне.

Цитата:
Сообщение от iNils
Для меня движение вперед, это переход на AS3, а не "об AVM2 (=AS3)" это ограничение раздела, а не мое.
Ну значит я правильно понял о чем вы говорите (об AVM2 и AS3), именно поэтому я и сказал о маркетинге с AVM2. Только почему-то вы сделали мне замечание по поводу раздела.

Цитата:
Сообщение от iNils
Какого класса? Ваш код должен тогда выглядить так
Код:
function A () {
	this.A;
}
A.prototype.val = 123;
A.prototype.test = function () {
	this.val = 456;
};
///
obj1 = new A ();
obj2 = new A ();
trace (obj1.val);
trace (obj2.val);
obj1.test ();
trace (obj1.val);
trace (obj2.val);
Выходит вы вообще не понимаете, что такое класс.
Не горячитесь.
Я с самого начала, с поста 8 сказал где разница:
1) можно заносить функцию в прототип класса, и тогда будет как в вашем коде, экономия памяти и по сути одна копия функции (в прототипе)
2) можно заносит функцию в конструкторе класса (это мой код из поста 15). Память жрется и создается копия функции для каждого объекта. Свойство prop лишь показывает, что это именно копия функции, а не ссылка на нее в прототипе класса. Я хотел понятнее код изложить, но можно и так:

Код:
function Class1(){
	this.f_class1=function(){}
	this.f_class1.prop=123
}

obj1=new Class1()
obj2=new Class1()

trace(obj1.f_class1.prop)
trace(obj2.f_class1.prop)

obj1.f_class1.prop=321

trace(obj1.f_class1.prop)
trace(obj2.f_class1.prop)
Это такой же "класс" как и "классы" AS2. Если я в примере не записал какие-либо свойства и методы в прототип, то это не значит, что это не "класс".

Цитата:
Сообщение от iNils
Если ПОДУМАТЬ, то можно сделать по другому и правильно
Что значит правильно?
Разве у 1000 программистов решающих одну задачу будет одинаковый код?


Последний раз редактировалось chingachgoog; 03.03.2008 в 16:45.
Старый 03.03.2008, 16:51
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 38  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от chingachgoog
можно заносит функцию в конструкторе класса (это мой код из поста 15). Память жрется и создается копия функции для каждого объекта. Свойство prop лишь показывает, что это именно копия
А еще можно молотком по пальцам бить вместо гвоздя. И с пеной у рта доказывать, что забивающий сам решит, что ему нужнее и даже найти этому применение. Только вот все равно этог будет выглядить глупо.

Для меня данный разговор подошел к концу.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


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

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

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


 


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


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