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

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 29.06.2008, 15:11
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 1  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
2 iNinls
Не ерунда. pvar2 (посмотрите в коде) - будет "приватным свойством" в смысле AS3 (то есть свойство которое видно, только в теле класса и не видно вне класса). В AS2 private = protected AS3.
2 __etc
Не принадлежит, но доступно ее использование в теле класса. Ладно, забили на pvar1, смотрте на pvar2.

Цитата:
с какого перепугу у вас метод вдруг стал приватным, когда вы его потом пабликом делаете
С того, что любая локальная функция пока не будет присвоено свойству класса в AS1 не сможет стать методом (то есть паблик). Где стал приватным? Это разные методы
Код:
function pMet(){}//приватный метод
function pmet1(){
// pvar2 доступна в паблик методе
}
this.met1=pmet1;//паблик метод, свойство по значению
__________________
видеоигры - высший вид искусства


Последний раз редактировалось riden; 29.06.2008 в 15:22.
Старый 29.06.2008, 15:26
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от riden Посмотреть сообщение
Не ерунда. pvar2 (посмотрите в коде)
Я не буду смотреть, после моего сообщения вы уже 7 раз отредактировали текст своего
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 29.06.2008, 15:33
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 3  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
2 __etc
Цитата:
Это единственное, что более менее попадает под понятие приватности. Только она тоже не принадлежит вашему экземпляру.
А зачем он должен принадлежать экземпляру? (Кстати как вы это узнали? поверю вам на слово). Когда вы создадите экземпляр, то в другом теле класса будут доступны только паблик.

Цитата:
А работать с ней как тогда?
Так же как и с приватным методом в теле класса (напомню, тело функции == тело класса в АС3, функция внутри функции == приватная функция АС3)
__________________
видеоигры - высший вид искусства


Последний раз редактировалось riden; 29.06.2008 в 15:38.
Старый 29.06.2008, 15:40
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от riden Посмотреть сообщение
А зачем он должен принадлежать экземпляру? (Кстати как вы это узнали? поверю вам на слово).
Я не могу написать this.pvar1.

Цитата:
Сообщение от riden Посмотреть сообщение
Так же как и с приватным методом в теле класса (напомню, тело функции == тело класса в АС3, функция внутри функции == приватная функция АС3)
Ага, только вам придется для вызова этого метода воспользоваться call или apply, чтобы не светить вашим «приватным» методом наружу. Очень технологично.

А главное, непонятно, все ваши извращения автоматически реализует компилятор в AS2, но вы уперлись и использовать его не хотите…

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от riden Посмотреть сообщение
В AS2 private = protected AS3.
Обычный public.

Цитата:
Сообщение от riden Посмотреть сообщение
Ладно, забили на pvar1, смотрте на pvar2.
Это единственное, что более менее попадает под понятие приватности. Только она тоже не принадлежит вашему экземпляру.

Цитата:
Сообщение от riden Посмотреть сообщение
С того, что любая локальная функция пока не будет присвоено свойству класса в AS1 не сможет стать методом (то есть паблик).
А работать с ней как тогда? Нет, конечно, есть шаманства с call и apply в своей области видимости, но опять же, такой метод не принадлежит вообще никому.
А ваш met1 — обычная ссылка на ваш «приватный» метод, вызвать по этой ссылке ваш метод может кто угодно и откуда угодно.

И перестаньте редактировать по 10 раз посты, сначала вы одно пишете, потом другое.

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

Регистрация: Sep 2002
Сообщений: 30,787
riden, ваше pvar1 и не принадлежит классу вовсе, это внешняя переменная и уж точно не приватная. И с какого перепугу у вас метод вдруг стал приватным, когда вы его потом пабликом делаете?

Старый 29.06.2008, 15:28
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 7  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
2 iNils
Код я практически не редоктировал. Надо было внимательно смотреть. Там две "приватные" переменные, так что смысл с самого начала сохранялся.
__________________
видеоигры - высший вид искусства

Старый 29.06.2008, 15:45
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 8  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
2 __etc
Цитата:
главное, непонятно, все ваши извращения автоматически реализует компилятор в AS2, но вы уперлись и использовать его не хотите…
Это вы счас с кем говорите?
Я давно уже сижу на АС3.

Про АС1 вспомнил, так как я прогю в синтаксисе java-script на Директоре 10. Хоть какое-то более-менее божеское ООП, в бэйсико-подобный Lingo не хочу лезть (11 еще не скачивал, не знаю что там с языком).
__________________
видеоигры - высший вид искусства

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

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от riden Посмотреть сообщение
Я давно уже сижу на АС3.
Ах, извините, таких подробностей я не знал…

Цитата:
Сообщение от riden Посмотреть сообщение
Про АС1 вспомнил, так как я прогю в синтаксисе java-script на Директоре 10. Хоть какое-то более-менее божеское ООП, в бэйсико-подобный Lingo не хочу лезть (11 еще не скачивал, не знаю что там с языком).
Так вы так пишете из-за того, что у вас просто нет нормального языка, а вот наш краснокожий индеец делает это специально из принципа.

Старый 29.06.2008, 16:34
riden вне форума Посмотреть профиль Отправить личное сообщение для riden Найти все сообщения от riden
  № 10  
Ответить с цитированием
riden
 
Аватар для riden

Регистрация: Jun 2005
Сообщений: 147
Цитата:
Сообщение от __etc
А ваш met1 — обычная ссылка на ваш «приватный» метод, вызвать по этой ссылке ваш метод может кто угодно и откуда угодно.
Не верно - met1 - паблик метод.
А вот pMet - приватный метод, и его никак не вызвать. Читайте же внимательно. #262

В остальном вроде все понятно. Функция АС1 (Class1) == тело класса в АС3, функция внутри функции (pMet) == приватный метод в АС3. Поэтому вопрос "А работать с ней как тогда?" - не уместен.
Свойство (met1) которое ссылается на функцию (pmet1) - паблик метод. Локальная функция(на которую нет ссылки свойства класса) - приват метод. Все функции и переменные распологаются в теле класса(функции) (хотя не обязательно).

Так что public и private AS3, полностью реализуемы в AS1.
__________________
видеоигры - высший вид искусства


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

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

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


 


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


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