![]() |
|
||||||||||
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Цитата:
Цитата:
Если вы так же не можете подобрать пример, когда это нужно, это еще не значит, что это не нормально. Последний раз редактировалось chingachgoog; 03.03.2008 в 15:22. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Припыли.
AVM1 - это AS1/AS2 AVM2 - это AS3 В AS1 писали классы на прототипах, а AS2 это обертка над AS1, которая взяла на себя рутинную работу и основное отличие AS2 от AS1 это не типизация, и не поставленные при публикации AS2, а код во внешнем файле который начинается с class {}. Но методы у них абсолютно идентичные. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
|
|||||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Цитата:
Цитата:
Теперь действительно, полноценный код в AVM2 не напишешь В СТИЛЕ AS1. Например, без создания классов. Цитата:
Цитата:
Так что же для вас, iNils является движением вперед, если вы не об AVM2 (=AS3), если AS2 - это лишь обертка под AS1? add: Цитата:
![]() Сложности взаимодействия тут нет - это быстрая иллюстрация класса, хотите напишите его в стиле AS2 по всем правилам и с типизацией. Дело не в этом было - прочитайте с начала. А как раз в том, что вовсе не обязательно всегда "тянуть на ООП", когда можно проще и быстрей сделать. Цитата:
Последний раз редактировалось chingachgoog; 03.03.2008 в 15:44. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
Цитата:
Цитата:
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);
Цитата:
|
|
|||||
|
Banned
[+4 01.02.09]
[+1 01.02.09] |
Цитата:
Цитата:
Цитата:
Я с самого начала, с поста 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)
Цитата:
Разве у 1000 программистов решающих одну задачу будет одинаковый код? Последний раз редактировалось chingachgoog; 03.03.2008 в 16:45. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
Для меня данный разговор подошел к концу. Последний раз редактировалось iNils; 03.03.2008 в 16:54. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:04. |
|
|
« Предыдущая тема | Следующая тема » |
|
|