Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Вопрос по рациональности расширения класса (http://www.flasher.ru/forum/showthread.php?t=168324)

fantomasdnb 19.09.2011 20:49

Вопрос по рациональности расширения класса
 
Решил спросить это здесь.

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

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

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

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

Dukobpa3 19.09.2011 21:43

В "первом" как ты выразился, класе, нужно прописать максимум всего что будет относиться ко всем однотипным объектам.

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

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

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

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

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

fantomasdnb 19.09.2011 22:13

всё понял, спасибо большое. =)


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

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