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

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

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

Регистрация: Aug 2011
Сообщений: 49
По умолчанию Вопрос по рациональности расширения класса

Решил спросить это здесь.

Классы для меня вообще ново. И собственно меня сбивает с толку расширение классов. Примеров много. В качестве примера можно взять шахматы.
Очевидно, что есть класс фигуры, и есть классы пешка, слон, ладья и т.д. Чисто логически видно, что вторые расширение первого. Но рационально ли будет делать именно так. Тоесть:

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

С тем же самым столкнулся при создании интерактивной карты. Странна - базовый класс, Россия, Украина, Англия и т.д. расширения. Но тоже оказалось неудобно, по тем же самым причинам.

Я чего то не понимаю и не хватает опыта. Или подобная техника не всегда применяется?

Старый 19.09.2011, 21:43
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 2  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
В "первом" как ты выразился, класе, нужно прописать максимум всего что будет относиться ко всем однотипным объектам.

Например шахматы:
класс фигура:
функция ходить
функция умирать
картинка(мувик) внешнего вида.

Собственно всё наверное.
Ну там слушатели какие я хз, это надо садиться и писать чтоб нормально расписать.

Пример с шахматами я бы решил вообще иначе:
один класс "фигура"
в этом классе есть параметр "вид фигуры"
и есть класс с константами рисунков ходов.
Далее когда фигура ходит она смотрит свой тип, и берет из констант свой рисунок хода.
Всё.
А остальное у всех идентично будет.
Единственное что - можно королю выделить отдельный класс, так как у него там будут еще особенности. А можно и не выделять а этот функционал возложить на доску(я про собственно шах/мат/под_шах_не_ходить).

//***********************
Интерактивная карта хз.
Там будут в основном классе:
картинка
слушатели мыши маус_овер, маус_даун чтоб оно как-то кликалось, и по клику будет диспатч куда-то.
Собственно скорее всего тоже будет только один класс, ничего никуда расширять не будет.
Потому что область карты это область карты, а как она выглядит и ее координаты это ее параметры просто, потому не имеет смысла плодить классы.

//*******************************
Расширять классы стоит тогда когда допустим есть класс "животное".
это животное может делиться на птиц/бактерий/рыб. Там можно насобирать отличий на отдельный класс между ними. В отличии от карты в которой отличия между областями будут только в форме, цвете и расположении, или же шахматных фигур, которые отличаются только внешним видом и рисунком хода.
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 19.09.2011, 22:13
fantomasdnb вне форума Посмотреть профиль Отправить личное сообщение для fantomasdnb Найти все сообщения от fantomasdnb
  № 3  
Ответить с цитированием
fantomasdnb

Регистрация: Aug 2011
Сообщений: 49
всё понял, спасибо большое. =)

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

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

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


 


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


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