Показать сообщение отдельно
Старый 30.06.2008, 06:26
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 356  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
2 wvxvw:
Цитата:
Сообщение от wvxvw
По моему глубокому убеждению функция созданная в конструкторе класса не удовлетворяет ни одному из вышеперечисленных условий.
Цитата:
Сообщение от wvxvw
Т.как ее область видимости разнится с областью видимости класса, чьим методом она должна быть.
Функция локальная может видеть глобальные свойства. А в AS3 - иначе? Область видимости распространяется вверх по цепочке наследования. Так же как и в AS3.
Если вы подразумеваете под областью видимости вызов this из функции - то я вам уже десять раз говорил, что означает this, и что есть функция в AS1. Область видимости - это доступность свойст из метода, а не то что вы пишите. Вызвав this данной функции - вы получите ссылку на объект активации этой функции. Ну и что, что в AS3 подругому. AS3 - полностью ООП-й язык. В AS3 функции имеют более узкое назначение и применение.. О чем речь?

Цитата:
Сообщение от wvxvw
Методы объявленные позже на прототипе класса не имеют доступа к этой функции.
Да... похоже вы действительно не понимате приватность. Методы обяъявленные позже. Тоесть динамические - так? Где эти самые методы обявляются? Очевидно в теле другого класса. Так? Мы ведь про ООП говорим. Ну и что такое приват? Разве из другого класса мы должны получать доступ к приватным свойствам (для тебя, объект - набор свойств, если значение свойства - функция, то это метод; так что упрощенно все это называют свойствами, полями). Ну и почему методы созданные на этапе исполнения(то есть когда создаются экземпляры классов) (пускай даже на временной диаграме) должны иметь доступ к приват-свойствам класса? + в вашем случае, это всегда будет вне тела класса ("родного").
Если ты говоришь про что то другое, то я тебе уже приводил пример, как метод в прототипе (но не созданный динамично) получает доступ к приват свойствам.
Цитата:
Функцию объявленную таким образом можно вызвать с разными областями видимости используя call и apply.
Вызовите приват метод из тела другого класса, ну или пускай, раз в АС1, из области видимости диаграммы (хотя это уже не совсем ООП), где вы создаете экземпляр класса. pMetA - пост выше (код Class1)


Последний раз редактировалось riden; 30.06.2008 в 06:53.