Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=53)
-   -   Битва гигантов: AVM1 vs. AVM2. Спешите видеть! Только у нас! (http://www.flasher.ru/forum/showthread.php?t=113128)

riden 30.06.2008 00:08

Легитимность? Раз это позволено в АС1, значит легитимно с точки зрения АС1. А вы привели паблик метод, и прототип лучше использовать для наследования надкласс-подкласс, а так он нафиг не нужен.

Цитата:

вы не понимаете, что такое приватный метод
Непонимаю? Я уже несколько раз давал определение приватности в АС3. Ну и хватит тут оправдыватся... :)

wvxvw 30.06.2008 00:12

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

riden 30.06.2008 00:23

Цитата:

Раз это позволено в АС1, значит легитимно с точки зрения АС1
Не надо зацикливатся так... Почему повашему до сих пор существует столько парадигм программирования? Не остались ведь одни Java, С# и... AS3.

Не пойму о чем разговор?
Что лучше?
Для меня AS3, не буду за всех говорить. Кстати, ничего не мешало Адобу оставить два синтаксиса во второй виртуальной машине.
Как по твоему работает АС2 со своими правами доступа, если их "нет" в АС1. Все можно реализовать на АС1.
Есть ли ООП в АС1?
По моему очевидно что есть.
Где лучше ООП?
По моему очевидно, что в AS3. Я бы сказал, что он как и C# и Java - полностью ООП-й. Но тут кажется небольшие исключения есть (код в кадрах), ну так кажется все равно он является частью методов, классов, которые создаются (где-то встречал, не помню...).

BlooDHounD 30.06.2008 00:38

Цитата:

Сообщение от chingachgoog (Сообщение 748725)
BlooDHounD, вы крайне невнимательны. Я сказал, что считать, что все методы в AS - паблики - это не верно. Но я не говорил, что научу ваc делать приватные методы на AS1.
Однако. Есть простой способ, сделать метод недоступным ниоткуда, кроме как из своего класса (экземпляра класса).
Тут выше, правда, тут же начали возмущаться, что это не приватный метод, т.к.:
- он ведет себя не как в AS3
- функция - это не метод :)
- this ОБЯЗАН указывать на один и тот же объект...
- и собственно вообще, нормально рабочие приватные методы - это как в AS3

ну вопервых, это был не я. это общественность взбунтовалась, так как, кажется я своими 3мя основными принципами ООП, оказался к ним ближе.
Цитата:

Сообщение от chingachgoog (Сообщение 748725)
Меня такой разговор удивляет. Есть способ сделать метод доступным только из данного класса. Есть или нет? Есть.
Вы можете такой метод назвать хоть валенком - кто против? Разве изменит это тот факт (который так неохото признать некоторым), что AS1 - это язык ООП? Не изменит. Гурский вообще прямо пишет, что объявление функции внутри другой функции - один из ходов ООП.

вообще это не приватный метод (а метод ли вообще?), а internal. если быть уже совсем точным. это ближе к терминологии, но инкапсуляцией тут и не пахнет.
и ещё: товарищу Гурскому, я бы с удовольствием выразил своё "ФИ". учить программирования на примерах ActionScript - это здавать быдло-программеров.
Цитата:

Сообщение от chingachgoog (Сообщение 748725)
__etc пишет, что хочет "нормально работающих приватных методов". Позвольте спросить, в чем их "нормальность"? И самое главное - для КАКОЙ ЦЕЛИ их сделали приватными? Последнее важно. Ведь если мы достигнем цели, значит метод (пусть с презрением трижды обозванный "псевдо") существует и эффективен.

так вы же знаете ООП? откуда такие вопросы?
Цитата:

Сообщение от chingachgoog (Сообщение 748748)
Вначале кто-то сказал, что AS1 - это не язык ООП и что там все методы паблик. От этого и пляшем.

что значит кто-то? это был я! прошу любить и жаловать!
Цитата:

Сообщение от chingachgoog (Сообщение 748748)
Что касается приватов - вы не ответили на мой вопрос, поэтому есть они или нет ОТСЮДА не видно :)

А ВЫ НЕ ОТВЕТИЛИ НА МОЙ ОТВЕТ!

riden, кстати ... тему полиморфизма мы так и не затронули? кажется мы уже выяснили что с инкапсуляцией у нас беда в АС1. так что ОПП у нас нет. есть объекты, не значит что есть ООП.

wvxvw 30.06.2008 00:40

>> Не пойму о чем разговор?

О наличии приватных методов в АС1.
Вы утверждаете, что они есть, я утверждаю, что их нету и их нужно имитировать.
В АС2 - это так же не более чем имитация, принципиально от АС1 он отличается только синтаксисом.

Про ООП в АС1 я до этого ни слова не говорил - это не ко мне.

riden 30.06.2008 00:50

2 wvxvw, BlooDHounD:
#316 - чем метод pMetA() не приватный?
Цитата:

мы уже выяснили что с инкапсуляцией у нас беда в АС1.
Получите доступ к pMetA не из тела родного класса, а потом утверждайте подобную чушь.

wvxvw 30.06.2008 00:53

Тем что я могу его удалить =)
>> Получите доступ к pMetA не из тела родного класса, а потом утверждайте подобную чушь.

Чушь утверждаете вы: к методу должен быть доступ не из конструктора а из любого другого метода этого класса =)

riden 30.06.2008 00:56

Цитата:

к методу должен быть доступ не из конструктора а из любого другого метода этого класса
Я уже говорил, что Функция AS1 - это и конструктор и тело класса. Нужны внешние функции - пожалуйста, но это как-то не по ООП. А внешние функции не получат доступ к внутренней локальной функции.

iNils 30.06.2008 01:00

Цитата:

Сообщение от riden (Сообщение 748778)
Я уже говорил, что [u]А внешние функции не получат доступ к внутренней локальной функции.

Это еще хуже. 100 экземпляров и 100 копий функции.

riden 30.06.2008 01:02

iNils, вы можете себе представить, чтобы кто то в АС3 писал что-то вне тела класса? Мы ведь про ООП говорим. А вот wxvxvw - хочет писать вне тела класса, и еще какие-то притензии предъявляет.


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

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