Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   чем заменить onLoad на мувиклипе? (http://www.flasher.ru/forum/showthread.php?t=108799)

iNils 02.03.2008 12:40

Не понял, с каким собственным свойством, для которого надо отдельный метод создавать?

udaaff 02.03.2008 13:30

to chingachgoog
Есть функции, а есть методы (экземпляра и статические). Не надо их спутывать между собой.

chingachgoog 02.03.2008 19:30

Цитата:

Сообщение от iNils
Не понял, с каким собственным свойством, для которого надо отдельный метод создавать?

Я хочу сказать, что задание метода в классе - не гарантия того, что метод не будет скопирован в каждый экземпляр класса. Все зависит от того, как в классе прописан метод (см. выше). Или я ошибаюсь?

Как пример привел следующую ситуацию: метод записан в самом конструкторе и у метода есть собственное свойство (тогда это свойство будет уникальным у каждого экземпляра класса). Можно и другие примеры привести когда надо у каждого экземпляра создавать свои собственные методы.

Цитата:

Сообщение от udaaff
Есть функции, а есть методы (экземпляра и статические). Не надо их спутывать между собой.

Если вы о посте 10, то там указано, что это аналогии. Тем более, что на самом деле нет никаких статических и прочих методов, а есть обычные функции с разными объектами активации.

Метод в конструкторе класса - это создании функции в самом объекте-экземпляре "класса".
А метод "наследуемый" - это просто метод в прототипе "класса", т.е. создание функции только в объекте прототипа и использование ссылок на нее. А то, что в AS2 статический метод - это в AS1 простое присваивание функции-классу своих свойств и методов.

iNils 02.03.2008 19:43

Цитата:

Сообщение от chingachgoog
Все зависит от того, как в классе прописан метод (см. выше).
...
метод записан в самом конструкторе...

Не знаю как вы, а я не создаю методы внутри методов/конструкторов.
Цитата:

Сообщение от chingachgoog
...и у метода есть собственное свойство (тогда это свойство будет уникальным у каждого экземпляра класса).

Пример кода можно? Я хочу посмотреть на уникальное свойство каждого экземпляра.

chingachgoog 02.03.2008 23:54

Код:

function Class1(){
        function f_class1(){}
        f_class1.prop=123
        this.metod1=f_class1
}

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

trace(obj1.metod1.prop)
trace(obj2.metod1.prop)

obj1.metod1.prop=321

trace(obj1.metod1.prop)
trace(obj2.metod1.prop)


iNils 03.03.2008 01:35

И какой смысл писать не правильно?

etc 03.03.2008 02:02

Цитата:

Сообщение от iNils
И какой смысл писать не правильно?

Никакого, конечно. Равно как и писать AS2-код в подобном виде.

chingachgoog 03.03.2008 13:43

Не понял про "писать неправильно" и про "AS2-код".

Пост 15 показывает:
1) в классе запросто может быть функция (метод) которая будет скопирована в каждый экземпляр класса
2) функция (метод) именно скопирован в экземпляр класса, т.е. их много, а не одна в прототипе класса.
3) у метода (функции) могут быть свои свойства.

iNils 03.03.2008 14:10

Я знаю только один случай когда нужно определить функцию внтури метода, это в классе Delegate.
Во всех остальных нужно писать правильно, а черт знает что.

etc 03.03.2008 14:10

Пост #15 показывает, как делать не надо.


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

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