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

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

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

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Яски Посмотреть сообщение
Никак не могу этого понять. Такое ощущение, что код наследников писали вражеские программисты, цель которых запутать программу.
Неа, просто защита от дурака. Кроме того, иногда требуется переопределять (читай закрывать от посторонних) некоторые жизненно-важные методы в конечных наследниках.

Старый 17.01.2009, 19:36
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 12  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Яски, все люди враги, и никогда никому не верьте, проще в жизни будет. а к тому же, чтобы Вас меньше трахали, вам же проще, если вы сделаете, так чтобы переопределение ваших методов не привело к тому, чтобы программа начала себя вести непредсказуемо.

Старый 18.01.2009, 01:45
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 13  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Ну, можно тогда и методы приватные не делать - не вражеские программисты же писали - не переопределят то, что не нужно

А зачем нужно самоуничтожение объекта из себя, если можно испустить ивент вверх, а там уже и убить объект? Удобнее и путаницы меньше.
__________________
Дело не в тебе

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

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от AL.exe Посмотреть сообщение
А зачем нужно самоуничтожение объекта из себя, если можно испустить ивент вверх, а там уже и убить объект? Удобнее и путаницы меньше.
Неа, тоже не true way. Решение об удалении должен принимать родитель. Сам. Взял и снёс, по требованию модели данных, например.

Старый 18.01.2009, 01:51
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 15  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Мне проще в жизни всем верить - тем боле, что терять мне нечего.
Код не может вести себя непредсказуемо - как я его написал, так он себя и ведет. К непредсказуемому результату может только привести нарушение нужного мне порядка наследования.
Например, для чего может понадобиться переопределять свойство parent? Ну, например для того, чтобы скрыть реальный порядок наследования объектов, или протрейсить момент получения значения этого свойства. В обоих случаях используя super.parent вместо parent мы меняем, задуманный программистом, порядок работы. Это я к тому, что методы переопряделяются и код пишется с какой-то целью и последствия этого не так сложно предсказать — но вот, в случае, когда этот задуманный порядок нарушают последствия предсказать невозможно.

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

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Яски Посмотреть сообщение
Мне проще в жизни всем верить - тем боле, что терять мне нечего.
Код не может вести себя непредсказуемо - как я его написал, так он себя и ведет. К непредсказуемому результату может только привести нарушение нужного мне порядка наследования.
Например, для чего может понадобиться переопределять свойство parent? Ну, например для того, чтобы скрыть реальный порядок наследования объектов, или протрейсить момент получения значения этого свойства. В обоих случаях используя super.parent вместо parent мы меняем, задуманный программистом, порядок работы. Это я к тому, что методы переопряделяются и код пишется с какой-то целью и последствия этого не так сложно предсказать — но вот, в случае, когда этот задуманный порядок нарушают последствия предсказать невозможно.
Есть некое ядро, например, UIControl. В нём повально используется super.parent, а this.parent всегда возвращает null. Почему? Потому что те, кто пишут UIControl-ы (это уже другой программист), должен работать с тем, что ему дано для реализации контрола, а шаги вправо-влево караются расстрелом сразу же. Помимо защищенности кода с использованием super, он ещё и менее подвержен появлению багов при разрастании цепочки наследования. Выгода на лицо, чем меньше всяких лазеек (разработчики игр, в которых вполне себе рулят реальные деньги, поймут), тем лучше.

Старый 18.01.2009, 03:12
AL.exe вне форума Посмотреть профиль Отправить личное сообщение для AL.exe Посетить домашнюю страницу AL.exe Найти все сообщения от AL.exe
  № 17  
Ответить с цитированием
AL.exe
 
Аватар для AL.exe

Регистрация: Jan 2004
Адрес: Net
Сообщений: 1,049
Отправить сообщение для AL.exe с помощью ICQ
Цитата:
Неа, тоже не true way. Решение об удалении должен принимать родитель. Сам. Взял и снёс, по требованию модели данных, например.
Ну, отреагировать-то родитель может на ивент как угодно - может и проигнорировать. Я же не говорю, что обязательно уничтожать надо
__________________
Дело не в тебе

Старый 18.01.2009, 14:27
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 18  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
__etc, я не понял выгоды. Ну да ладно — когда дойдет дело до работы с UIControl разберусь.

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

Регистрация: Sep 2002
Сообщений: 30,784
Цитата:
Сообщение от Яски Посмотреть сообщение
__etc, я не понял выгоды. Ну да ладно — когда дойдет дело до работы с UIControl разберусь.
UIControl я имел ввиду какой-то свой собственный, фреймворк, например, когда пишешь. Некоторые вещи не должны быть доступны в таком фреймворке. Например, метод dispatchEvent должен быть закрыт для возможности отправки события вне экземпляра класса.

Старый 18.01.2009, 16:19
Яски вне форума Посмотреть профиль Отправить личное сообщение для Яски Найти все сообщения от Яски
  № 20  
Ответить с цитированием
Яски

блогер
Регистрация: May 2008
Адрес: (0, 10, 185) в локальной системе
Сообщений: 721
Записей в блоге: 6
Закрыт через переопределение? Ну значит вызвав super.dispatchEvent мы нарушим логику приложения.

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

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

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


 


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


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