Показать сообщение отдельно
Старый 30.06.2008, 21:24
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 382  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
>> Вы хотите вызвать приватный метод вне тела класса? Помилуйте, но это не возможно. Ни вне тела класса, ни на этапе исполнения...

Да, я хочу вызвать приватный метод и увидеть как компайлер, ну или на худой конец дебаггер расскажет мне об ошибке =)
Это логичное и ожидаемое поведение приватного метода. Т.е. метод есть? - да есть. Вызвать можно? - нет, нельзя.

А то получается, я взял ваш класс, а то, как вы форматируете код противоречит моим религиозным принципам и смотреть в него я не хочу . АПИ к вашим классам нету... и вот мне приходит в голову... а не создать ли мне публичный метод у вот этого класса - и кто мне скажет нет? Вполне легитимное желание =) Но, в зависимости от того, как вы реализовали ваш псевдо-приватный метод, мой вновь созданый либо его уничтожит, либо сам не будет работать - что приведет меня в глубокое замешательсво, и мне прийдется наплевав на религиозные принципы взять и переписать ваш класс =)

От вас не требовался "prototype-based OOP AS1 - приватным метод". Нужен просто ООП приватный метод, без довесок в виде prototype-based =)

ЗЫ. на протяжении этой дискусии я не извращался (хотя, правды ради, готов признать, что иногда я это делаю ) С самого моего первого поста я последовательно, ни разу не отказываясь провожу одну и ту же мысль, просто с каждым разом освещая другие ее аспекты, которые, возможно, были упущены из виду другими дискутантами.
Мое убеждение остается таким же, каким и было: в АС1 приватных методов не существует, но существуют определенные воркараунды позволяющие добиться сходной функциональности, вместе с тем, каждый воркараунд имеет свои недостатки, справится с которыми не представляется возможным в силу отсутствия необходимого инструментария.

Да, и еще, вы путаете arguments.callee и arguments.caller. Но эти ссылки могут указывать на один и тот же объект только в случае рекурсивного вызова функции. Во всех остальных случаях callee (дословно "вызываемый") указывает на текущую функцию, а caller (дословно "вызывающий") указывает на функцию, которая текущую функцию вызвала. И обе эти ссылки только случайно могут совпасть с this текущей функции т.как прямо с этим не связаны.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 30.06.2008 в 21:46.