![]() |
Вопрос по рациональности расширения класса
Решил спросить это здесь.
Классы для меня вообще ново. И собственно меня сбивает с толку расширение классов. Примеров много. В качестве примера можно взять шахматы. Очевидно, что есть класс фигуры, и есть классы пешка, слон, ладья и т.д. Чисто логически видно, что вторые расширение первого. Но рационально ли будет делать именно так. Тоесть: В первом классе я максимум прописать слушатели событий, потому что все остальное специфично для каждой фигуры, и это уже надо писать в файлах расширения класса. С тем же самым столкнулся при создании интерактивной карты. Странна - базовый класс, Россия, Украина, Англия и т.д. расширения. Но тоже оказалось неудобно, по тем же самым причинам. Я чего то не понимаю и не хватает опыта. Или подобная техника не всегда применяется? |
В "первом" как ты выразился, класе, нужно прописать максимум всего что будет относиться ко всем однотипным объектам.
Например шахматы: класс фигура: функция ходить функция умирать картинка(мувик) внешнего вида. Собственно всё наверное. Ну там слушатели какие я хз, это надо садиться и писать чтоб нормально расписать. Пример с шахматами я бы решил вообще иначе: один класс "фигура" в этом классе есть параметр "вид фигуры" и есть класс с константами рисунков ходов. Далее когда фигура ходит она смотрит свой тип, и берет из констант свой рисунок хода. Всё. А остальное у всех идентично будет. Единственное что - можно королю выделить отдельный класс, так как у него там будут еще особенности. А можно и не выделять а этот функционал возложить на доску(я про собственно шах/мат/под_шах_не_ходить). //*********************** Интерактивная карта хз. Там будут в основном классе: картинка слушатели мыши маус_овер, маус_даун чтоб оно как-то кликалось, и по клику будет диспатч куда-то. Собственно скорее всего тоже будет только один класс, ничего никуда расширять не будет. Потому что область карты это область карты, а как она выглядит и ее координаты это ее параметры просто, потому не имеет смысла плодить классы. //******************************* Расширять классы стоит тогда когда допустим есть класс "животное". это животное может делиться на птиц/бактерий/рыб. Там можно насобирать отличий на отдельный класс между ними. В отличии от карты в которой отличия между областями будут только в форме, цвете и расположении, или же шахматных фигур, которые отличаются только внешним видом и рисунком хода. |
всё понял, спасибо большое. =)
|
| Часовой пояс GMT +4, время: 17:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.