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

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 02.02.2012, 20:36
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию Запретить использование методов

Собственно интересует такой вопрос, по защите от дурака.
Есть например класс в конструкторе онного проверяется, можно ли использовать его методы, например по какой нибудь переменной типа булен. Собственно после инициализации , как запретить юзать методы, если проверка не прошла? Просто например методов может быть 20, не писать же в каждом из них if(bool) ...
???
__________________
Марк Tween

Старый 02.02.2012, 20:45
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 2  
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Почему бы и нет? Почему бы на такие случаи не использовать всю мощь ООП и при плохом юзере создавать объекты с заглушками.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 02.02.2012, 20:46
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 3  
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
ActionScript не имеет такого модификатора доступа, а значит прийдется самому проверять... 20 методов === 20 проверок

Старый 02.02.2012, 20:48
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 4  
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
BaseClass.as
|
|- NormalClass.as
|- DurakClass.as

Код AS3:
var obj:BaseClass;
if(bool)
   obj = new DurakClass();
else
   obj = new NormalClass();
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 02.02.2012, 20:53
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 5  
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
2in4core
А зачем вам писать классы для дураков?

Старый 02.02.2012, 20:59
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 6  
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
Не доверяет коллегам :о)
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 02.02.2012, 21:01
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 7  
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Да не то чтобы писать, понятное дело, что разговор не про дурака. Вот щас пишу, чуть позже выложу свой DDL , естественно проверка на доступность ExternalI идет в инициализаторе , и толку нам от того, доступен он или нет, если при вызове любого метода нам будет RTE в случае, если он не досутпен.
Пример почему возникает такой вопрос : пишем мы допустим сайт, написали красавца все окей, начали вешать DDL повесили как надо проверили в браузере - кул, допилили еще какие то модификации у сайта, но проверить то надо... у нас 2 пути либо заливать на хост ( или запускать из бина html ) либо сносить весь DDL и проверять локально по старинке. Собственно в 1000 раз было бы удобно изменить какой нить парам в конфиге и класс отключится ( ну или проверка в конструкторе как я предлагаю ) вот я к чему.
Да и еще, речь идет о статик классе , если бы был с инстансом было бы проще решить
__________________
Марк Tween

Старый 02.02.2012, 21:06
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 8  
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
А чем статитк плохой? Со статическими переменными и статическими геттер/сеттер-методами получаем тот же обычный екземпляр обычного класса, который откликается только на имя класса...

Старый 02.02.2012, 21:10
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 9  
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
ммм. что?! Я имею ввиду, как заглушку я мог бы сделать так

Код AS3:
private var instanceClass:SomeSUperClass = new SomeSuperClass();
изначально
далее кругом в коде юзаются сотни методов. Как нам спрятать класс не нарушая иерархию использования методов?* тоесть отключить на время ? Легко
Код AS3:
private var instanceClass:Object = {};
Конечно не везде поможет, но все же.

Добавлено через 47 секунд
Со статиком же я так не сделаю. Собственно вопрос остается открытым как без проверок заглушить на время класс
__________________
Марк Tween


Последний раз редактировалось iNils; 03.02.2012 в 01:41.
Старый 02.02.2012, 21:37
elder_Nosferatu вне форума Посмотреть профиль Отправить личное сообщение для elder_Nosferatu Найти все сообщения от elder_Nosferatu
  № 10  
elder_Nosferatu
 
Аватар для elder_Nosferatu

Регистрация: Nov 2010
Адрес: 48° 55'N 24° 42'E GMT +2:00
Сообщений: 399
Записей в блоге: 1
Код AS3:
private var ClassRef:Class;
// Когда нужно
ClassRef = SomeStaticClass;
// Когда не нужно
ClassRef = Object;

Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 23:18.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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